使用CSS的border属性绘制各种几何形状的方法
.pentagon { position: relative; width: 50px; border-bottom: 50px solid red; border-left: 50px solid transparent; border-right: 50px solid transparent; } .pentagon:after { position: absolute; top: 50px; left: -50px; width: 0; height: 0; border-width: 75px 75px 0; border-style: solid; border-color: red transparent transparent; content: ""; } 六边形 如果两个相反方向且底边同样大小的梯形,叠加在一起,是不是就能得到一个六边形呢?同样需要配合一个伪元素来实现。 .hexagon { position: relative; width: 50px; border-bottom: 50px solid red; border-left: 50px solid transparent; border-right: 50px solid transparent; } .hexagon:after { position: absolute; top: 50px; left: -50px; width: 50px; border-top: 50px solid red; border-left: 50px solid transparent; border-right: 50px solid transparent; content: ""; } 实战应用 聊天气泡 是不是用到了 向下的三角形 结合一个圆角矩形来实现。 下拉菜单 我们打开淘宝天猫,来看下它顶部的下拉菜单,是不是也用到 向上的三角形 和 向下的三角 形。 我们来看下它的实现代码: 再来看一个,我们打开京东秒杀 是不是就用到了我们上面分析的 平行四边形 来实现的,我们同样来看下它的实现代码: 就是通过一个矩形,然后配合两个伪元素的三角形结合起来实现的。 具体使用场景还有很多,大家可以根据自己平时项目开发中的实际需求来发挥想象。 能用CSS样式搞定的效果就不要使用图片哈,不仅有利于后期的维护,也能减少网页的请求,提高页面的加载速度。 总结 其实通过各种组合,还可以实现很多不同的形状,这里就不一一列举了。比如还可以实现 八边形 、 五角星 、 六角星 、 八角星 、 十二角星 等等, border 就是这么强大。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |