首页 > 代码库 > 用css制作三角形

用css制作三角形

用css制作三角形,主要是利用css元素给“盒模型”设置边框得到的。

上图,上边框和做边框,以及上边框和右边框的交合处,浏览器会按照直角的二分之一处绘制交合线。这是“盒模型”有宽和高时候的效果。我们假设一下,如果把宽和高设置成0px,同时让边框的宽度更宽一点情况会怎样那?css代码如下:

.tip1{        width:0px;        height:0px;        border-width:20px;        border-style:solid;        border-color:#f60 #f00 #0f0 #00f;        overflow:hidden;    }

效果图如下:

当把“盒模型”的宽和高都设置成0px时,“盒模型”的每条边都变成了三角形,那如果我们需要一个向下的三角形,是不是把左、右、下的边设置成透明就可以了那?我们看一下效果:

.tip2{        width:0px;        height:0px;        border-width:20px;        border-style:solid;        border-color:#f60 transparent transparent transparent;        overflow:hidden;    }

是的,我们得到了向下的三角形了,只不过这个三角形比较扁平,不太美观。我们需要调整一下。既然是向下的三角形,我们可以让它的下边框的宽度为0,只设置上边框,来控制整个三角形的高度,设置左右边框来控制三角形的宽度。代码修改如下:

.tip3{        width:0px;        height:0px;        border-width:20px 10px 0px 10px;        border-style:solid;        border-color:#f60 transparent transparent transparent;        overflow:hidden;    }

效果如下:

现在看起来好多了。同理我们也可以根据需求制作朝左、右、上的三角行了,大家可以回去试一下。

附:结合css3三角形的应用,代码如下:

<p class="box">哈哈我是测试代码</p>
.box{        width:800px;         padding:10px;         min-height:40px;        background:#a6dadc;        position:relative;    }.box::after{        content:"";        display:block;        width:0px;        height:0px;        border-width:10px 20px 10px 0px;        border-style:solid;        border-color:transparent #a6dadc transparent transparent;        position:absolute;        left:-20px;        top:10px;    }

效果图如下:

 

用css制作三角形