css三角形
实现原理
通过设置元素边框的透明度实现各种样式的三角形
transparent
transparent是全透明黑色(black)的速记法,即一个类似rgba(0,0,0,0)这样的值
background:transparent,即背景透明
创建长宽为0、边框为40的元素
.triangle {
width: 0;
height: 0;
border-top: 40px solid red;
border-right: 40px solid green;
border-left: 40px solid blue;
border-bottom: 40px solid black;
}
上边框设为透明
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid green;
border-left: 40px solid blue;
border-bottom: 40px solid black;
}
三边透明
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid transparent;
border-left: 40px solid transparent;
border-bottom: 40px solid black;
}
示例
向左
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid green;
border-bottom: 40px solid transparent;
}
向右
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-left: 40px solid blue;
border-bottom: 40px solid transparent;
}
向上
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid transparent;
border-left: 40px solid transparent;
border-bottom: 40px solid black;
}
向下
.triangle {
width: 0;
height: 0;
border-top: 40px solid red;
border-right: 40px solid transparent;
border-left: 40px solid transparent;
}
左上
.triangle {
width: 0;
height: 0;
border-top: 40px solid red;
border-right: 40px solid transparent;
}
右上
.triangle {
width: 0;
height: 0;
border-top: 40px solid red;
border-left: 40px solid transparent;
}
左下
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-left: 40px solid blue;
}
右下
.triangle {
width: 0;
height: 0;
border-top: 40px solid transparent;
border-right: 40px solid green;
}