CSS做下拉列表的倒三角方法

最近做练习的时候要用到下拉列表,上面有个倒三角。当时用贴图的方法做的。因为我是一个新手,所以不知道别人普遍怎么做,今天看了一眼淘宝的css,真是出乎意料啊。

效果图:

这个效果的原理很简单:对一个元素的四个面都设置border时,不同方向上的border衔接之处是呈45度切面的,只要随便拿一个元素加上一个很粗的border就可以看出来了。那么当元素高宽都为0,但是有一个非常粗的border的时候,就会出现4个三角形。

div{
            border-color: #666666 blue red;
            border-style: solid;
            border-width: 14px;
            font-size:0;
            height: 0px;
            line-height: 0;
            width: 0px;   
        }
<body>
    <div></div>
</body>

效果:

那么,只要把左右和下面的border颜色设为和背景色一样,就出现倒三角效果了。

不过显然,这个办法限制比较大,只有在纯色箭头和纯色背景时才能用。