纯CSS绘制三角形-border法
2018-01-02 10:26
351 查看
如果是一个正方形,我们写边时,会用到border,但我们这里讨论的三角形本身就是border,不可能再给border添加border属性,所以我们需要用到其他办法。
最容易想到的,是叠加层。思路是将两个三角形叠加在一起,外层三角形稍大一些,颜色设置成边框所需的颜色;内层三角形绝对定位在里面。整体就能形成带边框三角形的假象。
这里就涉及到一个绝对定位的问题,上、下、左、右四种方向的三角形相对于父级定位是不同的。首先我们来看下,当定位都为0(left:0px; top:0px;)时,会发生什么。
原文:纯CSS写三角形-border法
步骤解说:用css画三角形(提示框和纯色)
最容易想到的,是叠加层。思路是将两个三角形叠加在一起,外层三角形稍大一些,颜色设置成边框所需的颜色;内层三角形绝对定位在里面。整体就能形成带边框三角形的假象。
这里就涉及到一个绝对定位的问题,上、下、左、右四种方向的三角形相对于父级定位是不同的。首先我们来看下,当定位都为0(left:0px; top:0px;)时,会发生什么。
HTML
<!-- 向上的三角形 --> <div class="triangle_border_up"> <span></span> </div> <!-- 向下的三角形 --> <div class="triangle_border_down"> <span></span> </div> <!-- 向左的三角形 --> <div class="triangle_border_left"> <span></span> </div> <!-- 向右的三角形 --> <div class="triangle_border_right"> <span></span> </div>
CSS
/*向上*/ .triangle_border_up{ width:0; height:0; border-width:0 30px 30px; border-style:solid; border-color:transparent transparent #333;/*透明 透明 灰*/ margin:40px auto; position:relative; } .triangle_border_up span{ display:block; width:0; height:0; border-width:0 28px 28px; border-style:solid; border-color:transparent transparent #fc0;/*透明 透明 黄*/ position:absolute; top:1px; left:-28px; } /*向下*/ .triangle_border_down{ width:0; height:0; border-width:30px 30px 0; border-style:solid; border-color:#333 transparent transparent;/*灰 透明 透明 */ margin:40px auto; position:relative; } .triangle_border_down span{ display:block; width:0; height:0; border-width:28px 28px 0; border-style:solid; border-color:#fc0 transparent transparent;/*黄 透明 透明 */ position:absolute; top:-29px; left:-28px; } /*向左*/ .triangle_border_left{ width:0; height:0; border-width:30px 30px 30px 0; border-style:solid; border-color:transparent #333 transparent transparent;/*透明 灰 透明 透明 */ margin:40px auto; position:relative; } .triangle_border_left span{ display:block; width:0; height:0; border-width:28px 28px 28px 0; border-style:solid; border-color:transparent #fc0 transparent transparent;/*透明 黄 透明 透明 */ position:absolute; top:-28px; left:1px; } /*向右*/ .triangle_border_right{ width:0; height:0; border-width:30px 0 30px 30px; border-style:solid; border-color:transparent transparent transparent #333;/*透明 透明 透明 灰*/ margin:40px auto; position:relative; } .triangle_border_right span{ display:block; width:0; height:0; border-width:28px 0 28px 28px; border-style:solid; border-color:transparent transparent transparent #fc0;/*透明 透明 透明 黄*/ position:absolute; top:-28px; left:-29px; }
原文:纯CSS写三角形-border法
步骤解说:用css画三角形(提示框和纯色)
相关文章推荐
- 纯CSS绘制三角形(各种角度)
- 纯CSS写三角形-border法
- css 绘制三角形箭头
- CSS绘制常见的三角形
- csS绘制三角形
- CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
- 纯CSS绘制三角形(各种角度)
- css - 绘制三角形
- 纯CSS绘制三角形
- 纯CSS绘制三角形(各种角度)
- css绘制透明三角形
- 通过CSS的border绘制三角形
- 纯CSS写三角形-border法
- html中css使用div绘制三角形
- CSS绘制三角形
- css绘制三角形方法
- 用css绘制三角形
- 浅谈纯CSS绘制圆形、椭圆形、菱形、三角形
- CSS 魔法系列:纯 CSS 绘制三角形(各种角度)
- 纯CSS绘制三角形(各种角度)