赞
踩
<div class="box"></div>
加上css
.box{
width: 100px;
height: 100px;
border-top: 50px solid orange;
border-left: 50px solid blue;
border-right: 50px solid purple;
border-bottom: 50px solid brown;
}
结果:
由此发现,有颜色的都是边框,中间白色的是我们定义的宽为100px,高为100px的div,发现边框形成了一个梯形!!!。
.box{
width: 100px;
height: 100px;
border-left: 50px solid blue;
border-right: 50px solid purple;
border-bottom: 50px solid brown;
}
取消了上面的边框,发现有直角梯形,和梯形,这时我们可以想一下如果只设置底部边框,看看效果如何?
.box{
width: 100px;
height: 100px;
border-bottom: 50px solid brown;
}
结果发现是没有的,所以要考虑其他的方法,例如设置边框透明,边框大小不变?不知道结果怎么样
.box{
width: 100px;
height: 100px;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid brown;
}
咦,发现可以耶,梯形由此就可以实现了,这就说明是需要设置边框才可以的,但是需要结合边框透明才可以得到想要的图形,如果想要反向的图形,就设置该方向上的边框有颜色,其他方向上的边框颜色设置透明即可。
.box{
width: 100px;
height: 100px;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 50px solid brown;
border-bottom: 50px solid transparent;
}
那是不是说明其他图形也很容易实现!!!
以获取上方的梯形为例,打开浏览器开发者工具看到
结果发现,实际中定义的div是存在的,只是被我们设置了透明而已,所以才会存在一些一段距离的空白处,是占页面一定位置的。
.box{
width: 100px;
height: 100px;
border-top: 50px solid transparent;
border-left: 0px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid orange;
}
先看看基础图形是如何,在1、的基础上取消设置div的宽高,定义为0px
.box{
width: 0px;
height: 0px;
border-top: 50px solid orange;
border-left: 50px solid blue;
border-right: 50px solid purple;
border-bottom: 50px solid brown;
}
结果就是这样,三角形可以在这个的基础上进一步结合透明实现
.box{
width: 0px;
height: 0px;
border-top: 50px solid transparent;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid brown;
}
.box{
width: 0px;
height: 0px;
border-top: 50px solid transparent;
border-left: 0px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid brown;
}
好了,CSS实现画出三角形、直角三角形、梯形、直角梯形图形介绍到这了,写这篇博客是想起之前前端笔试碰到了这样的类型的代码题,当时一脸懵逼,还是自己见识太浅了,最近想起来就看看,学习记录一下,避免下次再遇到类似这样的题。
接下来要狂补我的前端知识了!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。