第207题:CSS 如何实现一个三角形?
CSS 做三角形的方法:首先创建一个 Div 元素,设置 Div 的 Width 和 Height 为 0,只用边框宽来填充,边框样式设置为实线 solid,然后顶部边框设置颜色,剩下的三个边框的颜色设置为透明 transparent 值即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最终实现效果:(从左到右分别是实心、带边缘色、圆角三角形)
实心三角形
步骤一:正方形
先画个正方形:
步骤二:加大 border
将 border 的值加大,并设为不同的颜色
步骤三:宽高均设为 0
然后把它的高度和宽度去掉,剩下四个border,就变成了:
可以看到,我们现在已经得到四个三角形了
步骤四:保留唯一颜色(等腰三角形)
想要哪个三角形,就保留哪个三角形的颜色,其他的都设置为透明
这样我们就得到了一个等腰三角形
简化代码
其实,我们不需要把四个 border 都设置一遍,只需设置你想要画的三角形所涉及到的三条边的 border 即可
以上步的画最上面的三角形为例,只需设置下、左、右三条边即可
不等腰三角形
上图为等腰三角形,之所以为等腰,是因为所有的边框宽度是一样的,如果我们将边框宽度设置为不同,那会怎样?
例如:
我们可以不局限于保留一条边框,我们可以保留两条,于是我们可以告别等腰,得到更加锐利的三角:
上面都是底边在水平线上;当底边与水平线不重合时,可以利用宽高比和CSS3中的 transform 属性和 rotate 相结合,来实现我们想要呈现的三角形效果
气泡聊天框(带边缘色的三角形)
步骤一:画圆角矩形
步骤二:加尖角三角形
1. 画一个深色的三角形
先画一个深色的三角形,然后再画一个同样大小白色的三角形盖在它上面,两个三角形错位 2 个像素,这样深色三角形的边缘就刚好露出一个像素
2. 画一个白色的三角形盖上去,错位 2 个像素
圆角三角形
步骤一:画一个正方形
步骤二:画一个菱形
利用 CSS transform 属性旋转、倾斜、缩放
步骤三:设置一个角为圆角
步骤四:拼接 3 个带圆角的菱形
来源