Open goldEli opened 5 years ago
css三角关键在border的绘制: 先画一个width,height都为0的div,然后给他的四个边都加上一个粗实线。
<div class="triangel"></div>
.triangel {
width: 0;
height: 0;
border-top:50px solid red;
border-right:50px solid yellow;
border-bottom:50px solid blue;
border-left:50px solid indigo;
}
效果是这样的: 就构成了4个不同方向的三角形。 需要哪个三角形,就把其他方向的border的颜色透明度设置为0,比如我要左边的这个三角形,就把上,下,右边透明度设置为0:
.triangel {
width: 0;
height: 0;
border-top:50px solid rgba(0,0,0,0);
border-right:50px solid rgba(0,0,0,0);
border-bottom:50px solid rgba(0,0,0,0);
border-left:50px solid indigo;
}
效果看起来就是:
大体思路:
div
,宽高相等,再单独设置上下左右的 border
div
的宽高设为 0border
颜色设置成 transparent
,就得到一个向上的三角形了最终代码如下:
.triangle_to_top{
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid blue;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
}
.triangle_to_left{
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-right: 10px solid red;
}
.triangle_to_right{
width: 0;
height: 0;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid green;
}
.triangle_to_bottom{
width: 0;
height: 0;
border-top: 10px solid brown;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
}
<div class="triangle_to_top"></div>
<div class="triangle_to_right"></div>
<div class="triangle_to_bottom"></div>
<div class="triangle_to_left"></div>
Reference: CSS Triangle
css
画三角形,首先想到的就是border
,另外还有transparent
属性。
.triangle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid skyblue;
}
效果如图