在我们看到类似于这样的图片时:

我们一般都会想,哎,这还不简单,用一张图片就可以了。
的确,用图片可以很轻松地做到。不过我们接下来要讨论的是:
如何用css也作出这样的效果。
 
首先,我们来定义一个div:
<div class="up"></div>
然后给它增加一些样式:
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  font-size: 0px;
  line-height: 0px;
}
 
结果如图:
你TM逗我呢,这明明是正方形好吗!
好好好,别急,放下你手中的砖头,我们不妨设置一下它的边框。
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  border:50px solid green;
  font-size: 0px;
  line-height: 0px;
}
然后就变成这样:
 你这是在找死
好的好的,别急,我说最后一句:
我们尝试着把它的四个边框的颜色改成不一样。
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  border-top: 50px solid green;
  border-right: 50px solid yellow;
  border-bottom: 50px solid blue;
  border-left:50px solid black;
  font-size: 0px;
  line-height: 0px;
}
结果如下:
 好像有点意思
好的,别急,我们再尝试着把div的宽度和高度都设置为0;
.up{
  width: 0px;
  height: 0px;
  background-color: red;
  border-top: 50px solid green;
  border-right: 50px solid yellow;
  border-bottom: 50px solid blue;
  border-left:50px solid black;
  font-size: 0px;
  line-height: 0px;
}
结果:
好的,我们得到了四个三角形,
现在,我们要得到方向指向上的那个蓝色的三角形,所以我们把其他三角形的背景颜色设置成透明的,并且去掉之前设置的背景颜色:
.up{
  width: 0px;
  height: 0px;
  border-top: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 50px solid blue;
  border-left:50px solid transparent;
  font-size: 0px;
  line-height: 0px;
}
 
 好的 ,掌声在哪里?
我知道你想说什么,我们仔细观察,发现其实上边框是不必要的,因为它不影响我们下面的那个三角形的大小和形状,所以我们去掉上边框,然后再调整一下背景颜色:
.up{
  width: 0px;
  height: 0px;
  border-right: 50px solid transparent;
  border-left:50px solid transparent;
  border-bottom: 50px solid #6699cc;
  font-size: 0px;
  line-height: 0px;
}
 
完成了。
按照这种方法,我们可以制作四个方向上的三角形:
完整的代码:
html:
 <div class="up"></div>
<div class="right"></div>
<div class="down"></div>
<div class="left"></div>
 
css:
 .up,.right,.down,.left{
width: 0px;
height: 0px;
font-size: 0px;
line-height: 0px;
}
.up{
border-right: 50px solid transparent;
border-left:50px solid transparent;
border-bottom: 50px solid #6699cc;
}
.right{
border-bottom: 50px solid transparent;
border-top:50px solid transparent;
border-left: 50px solid green;
}
.down{
border-top: 50px solid yellow;
border-right:50px solid transparent;
border-left: 50px solid transparent;
}
.left{
border-right: 50px solid red;
border-top:50px solid transparent;
border-bottom: 50px solid transparent;
}
 
完整的效果图:
 
 
 
 

利用CSS制作三角形的更多相关文章

  1. css制作三角形,下拉框三角形

    网站制作中常常需要下拉框,而如果下拉框如果只是单纯的矩形则会显得太过单调,所以这次教大家利用css制作三角形放在矩形上面 首先利用css制作三角形 div { width:0px; height:0p ...

  2. CSS制作三角形和按钮

    CSS制作三角形和按钮 用上一篇博文中关于边框样式的知识点,能制作出三角形和按钮. 我先说如何制作三角形吧,相信大家在平时逛网站的时候都会看到一些导航栏中的三角形吧,比如说: 网易首页的头部菜单栏中, ...

  3. 用css制作三角形

    用css制作三角形,主要是利用css元素给“盒模型”设置边框得到的. 上图,上边框和做边框,以及上边框和右边框的交合处,浏览器会按照直角的二分之一处绘制交合线.这是“盒模型”有宽和高时候的效果.我们假 ...

  4. CSS 制作三角形原理剖析

    使用css制作三角形其实原理很简单,下面一步步解析. 1.html代码如下 <div class="triangle"> </div> 2.CSS代码 .t ...

  5. 利用CSS制作背景变色的横向导航栏

    1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...

  6. 利用border制作三角形原理

    网站前端页面中,有时候会使用一些三角形,除了使用图片的方式之外,利用css的border属性也可以做出相对应的三角形.那么,利用border是如何实现三角形的制作的呢? 先看下面一个例子: CSS代码 ...

  7. 利用CSS制作图形效果

    前言 关于如何使用CSS来制作图形,比如说圆形,半圆形,三角形等的相关教程还是挺多的,今天我主要想解释一下里面一些demo的实现原理,话不多说,开始吧   以下所有内容只使用一个HTML元素.任何类型 ...

  8. 利用CSS制作脸书

    很多网站都支持图片上的头像框识别,鼠标在头像框处,会提示一些人物信息. 这次就利用CSS实现这样一个功能: div处主要包括两部分,一部分是图片:另一部分是链接以及脸框 <div class=& ...

  9. 利用 css 制作简单的提示框

    在网页开发中,为了提高用户体验,经常会用到一些提示框来引导用户,这里分享下一些简单的提示框的制作 1.首先类似一个长方形右上角一个关闭按钮 这里用到的主要是一些定位的知识,运用relative和abs ...

随机推荐

  1. Python爬虫爬取百度贴吧的图片

    根据输入的贴吧地址,爬取想要该贴吧的图片,保存到本地文件夹,仅供参考: #!/usr/bin/python#_*_coding:utf-8_*_import urllibimport urllib2i ...

  2. Redis与Memcache的区别

    Redis与Memcache的区别 数据类型:  redis数据类型丰富,支持set liset等类型          memcache支持简单数据类型,需要客户端自己处理复杂对象 持久性: red ...

  3. 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)

    Zhuoyao Zhong--[aixiv2016]DeepText A Unified Framework for Text Proposal Generation and Text Detecti ...

  4. 微信 回调模式 echostr校验失败,请您检查是否正确解密并输出明文echostr

  5. 3D数学的实际应用

    以前自己在学习三维程序开发时并没有在意3D数学在程序中的重要作用,但在实际工作中逐渐发现:自己忽视了3D数学的作用,我们实际开发工作总要求模型准确的变换,而不是强调渲染有多炫,那是游戏,如果是仿真程序 ...

  6. asp.net的mongodb实例

    mongodb为2.6版本, .net是4.0, c#接口时1.7. 运行环境为windows8 with visual studio2010 注意事项:在mongodb中使用地理位置存储信息且动用到 ...

  7. sqlserver查询数据的所有表名和行数

    //查询所有表明 select name from sysobjects where xtype='u' select * from sys.tables //查询数据库中所有的表名及行数 SELEC ...

  8. 报表控件NCreport教程:子查询系统设计

    数据报表中经常需要用到主从数据关系,比如发票.订单等一类的特殊文件,在报表控件NCreport中也不例外.数据报表至少有一个表头和一个通过 主键和外键关联的相关细节数据集.子查询系统则是通过父数据源驱 ...

  9. dm9000c 移值新内核 linux-4.1.24

    错误 1 /home/dm9000/dm9dev9000c.c:309: error: conflicting types for 'phy_read'include/linux/phy.h:637: ...

  10. python入门练习题3(函数)

    1.写函数: 如有以下两个列表 l1 = [...] l2 = [] 第一个列表中的数字无序不重复排列,第二个列表为空列表 需求: 取出第一个列表的最小值 放到第二个列表的首个位置, 取出第一个列表的 ...