CSS重叠箭头

前端之家收集整理的这篇文章主要介绍了CSS重叠箭头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试用 CSS3完成非常类似于下图的内容.

唯一的区别是最后一个div会有尖头.

在我寻找类似于适应的东西时,我遇到了this js fiddle,它非常接近我想做的事情,但引入了两个问题:第一,它是用帆布完成的,第二,它迫使我有效地“画”箭头每个箭头两次 – 一个用于div,一个用于下一个箭头之前的空格.必须有一些更清洁的方式这样做 – 有人可以在这里给我一些方向吗?

我需要知道的是如何使用CSS3构建上图中显示内容 – 一系列重叠的div箭头.

解决方法

试试这个 – http://jsfiddle.net/ksNr3/8/
ul {
    margin: 20px 60px;
}

ul li {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    width: 100px;
    margin: 5px 1px 0 0;
    text-indent: 35px;
    position: relative;
}

ul li:before {
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    left: -2px;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #fff;
    z-index: 0;
}

ul li:first-child:before {
    border-color: transparent;
}

ul li a:after {
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    right: -15px;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #ccc;
    z-index: 10;
}

ul li.active a {
    background: orange;
    z-index: 100;
}

ul li.active a:after {
    border-left-color: orange;
}

ul li a {
    display: block;
    background: #ccc;
}

ul li a:hover {
    background: pink;
}

ul li a:hover:after {
    border-color: transparent transparent transparent pink; 
}
​

更新 – 使其可点击并最小化重叠区域 – http://jsfiddle.net/ksNr3/8/

猜你在找的CSS相关文章