等腰梯形图片(梯形等腰梯形)
相信大家肯定在设计稿上面看见过三角形和梯形,大家是怎么做的?让设计师切一个图给你?哈哈哈,这个方法确实省时省力。不过我今天分享的是怎么用纯css来画一个。
完整的代码,可以在这里查看。
画三角形之前,我们先来给一个正方形加个边框,不同边为不同的颜色,看看能看出什么端倪?
#square1 {
width: 100px;
height: 100px;
border-top: 10px solid red;
border-bottom: 10px solid yellow;
border-left: 10px solid green;
border-right: 10px solid blue;
}
哦,原来两条边交汇的地方是个斜角,边框是个梯形。
那我们在缩小宽高,再来看看有什么变化?
#square2 {
width: 10px;
height: 10px;
border-top: 10px solid red;
border-bottom: 10px solid yellow;
border-left: 10px solid green;
border-right: 10px solid blue;
}
从图片中不难看出,当宽高缩小的时候,四个梯形交汇的地方也变小了,那我们大胆的设想一下,当宽高为0的时候,是不是4个梯形就交汇到一起形成一个4个三角形了?带着这个设想我们再来试一下。
#square3 {
width: 0px;
height: 0px;
border-top: 10px solid red;
border-bottom: 10px solid yellow;
border-left: 10px solid green;
border-right: 10px solid blue;
}
yeah,和我们猜想的是一样的。那4个三角形都出来了,一个三角形还会远吗?我们只要将不想要的三角形设置为透明就可以啦!
#triangle1{
width: 0px;
height: 0px;
border-top: 10px solid transparent;
border-bottom: 10px solid yellow;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
}
这样一个等边三角形我们就轻松获得了。这时候我又有一个大胆的想法:如果想要一个等腰三角形、直角三角形或者不规则三角形怎么办?
那我们先回到上面4个三角形的例子,分别改变上下边框和左右边框的宽度,看看能发现什么?
#square4 {
width: 0px;
height: 0px;
border-top: 20px solid red;
border-bottom: 20px solid yellow;
border-left: 10px solid green;
border-right: 10px solid blue;
}
当增加上下边框的宽度,上下两个三角形高度增加,左右两个三角形的底的长度增加。
#square5 {
width: 0px;
height: 0px;
border-top: 10px solid red;
border-bottom: 10px solid yellow;
border-left: 20px solid green;
border-right: 20px solid blue;
}
当增加左右边框的宽度,左右两个三角形的高增加,上下两个三角形高度增加。
有了这个认识,我们再来画等腰三角形,直角三角形,不规则三角形就简单很多了。
等腰三角形:增加下面三角形的边框
#triangle2{
width: 0px;
height: 0px;
border-top: 10px solid transparent;
border-bottom: 30px solid yellow;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
}
直角三角形:左边边框宽度为0
#triangle3{
width: 0px;
height: 0px;
border-top: 10px solid transparent;
border-bottom: 10px solid yellow;
border-left: 0px solid transparent;
border-right: 10px solid transparent;
}
不规则三角形:4个边框分别给不同的宽度,然后想要什么样不规则的三角形,其他三个就透明吧。
#triangle4{
width: 0px;
height: 0px;
border-top: 5px solid red;
border-bottom: 8px solid yellow;
border-left: 15px solid green;
border-right: 30px solid blue;
}
上面的例子,我们的三角形的底都是水平或者垂直的,那要有角度怎么办?
也很简单,我们只要配合transform就可以实现了。
#triangle5{
width: 0px;
height: 0px;
border-top: 5px solid red;
border-bottom: 8px solid yellow;
border-left: 15px solid green;
border-right: 30px solid blue;
transform: rotate(20deg);
}
讲完了三角形,梯形就很简单了。因为一开始我们就说了边框是梯形,那我们只要再将宽高加上,然后再将其与的梯形透明,就实现了。
本文收集自互联网,如果发现有涉嫌侵权或违法违规的内容,请联系6532516@qq.com以便进行及时清除。
文章评论(0)