以前写过一篇纯CSS制作带三角的边框,那篇文章是用HTML特殊字符来制作三角的,今天介绍下,如何用 border 来制作三角。
html 代码如下:
<div class="arrow-up"></div> <div class="arrow-down"></div> <div class="arrow-left"></div> <div class="arrow-right"></div>
css 代码如下:
.arrow-up { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; _border-left: 5px solid white; _border-right: 5px solid white; border-bottom: 5px solid black; overflow:hidden; } .arrow-down { width: 0; height: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; _border-left: 20px solid white; _border-right: 20px solid white; border-top: 20px solid #f00; overflow:hidden; } .arrow-right { width: 0; height: 0; border-top: 60px solid transparent; border-bottom: 60px solid transparent; _border-top: 60px solid white; _border-bottom: 60px solid white; border-left: 60px solid green; overflow:hidden; } .arrow-left { width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; _border-top: 10px solid white; _border-bottom: 10px solid white; border-right:10px solid blue; overflow:hidden; }
效果图如下:
测试浏览器:chrome,firefox,ie8,ie7,ie6,safari,opera
PS:
1、原文并没有兼容 ie6 浏览器,所以我改了下,现在的版本已经可以兼容所有浏览器了。
2、相对于用 border 来做三角,我更加喜欢用 html 特殊字符来制作三角。