用div 画出三角形

画三角形的代码:

border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #009d6f;

 这段代码也能画出三角形,底色为白色,三角形为绿色的.但这有一个问题,就是虽然设置了边框为透明,但边框还是会遮挡底部的元素,且如果底部元素为红色,你会看到一张白色图片上放着一个绿色的三角形,这很不完美。解决办法如下:

background-clip: padding-box;
    border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #fff;

加上 background-clip: padding-box; 这句代码后,设置为透明色的边框可以实现真正的透明。如果底部为红色,你看到的就是绿色的三角形,没有白色的画布。这句代码的作用是,不让div的背景色延伸到边框下,div默认背景色为白色,这就是为什么虽然我们给边框设置了透明,但我们看到还是白色而不是底部元素。既然知道了真正的原因,我们也可以直接这样做:

    border-top: 10px solid rgba(0,0,0,0);
    border-bottom: 10px solid rgba(0,0,0,0);
    border-right: 10px solid rgba(0,0,0,0);
    border-left: 10px solid #fff;
    background-color:rgba(0,0,0,0);

经测试效果一样的。

posted @ 2018-02-01 14:53  a露露  阅读(622)  评论(0编辑  收藏  举报