CSS重叠箭头

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

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

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

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

解决方法

试试这个 – http://jsfiddle.net/ksNr3/8/
  1. ul {
  2. margin: 20px 60px;
  3. }
  4.  
  5. ul li {
  6. display: inline-block;
  7. height: 30px;
  8. line-height: 30px;
  9. width: 100px;
  10. margin: 5px 1px 0 0;
  11. text-indent: 35px;
  12. position: relative;
  13. }
  14.  
  15. ul li:before {
  16. content: " ";
  17. height: 0;
  18. width: 0;
  19. position: absolute;
  20. left: -2px;
  21. border-style: solid;
  22. border-width: 15px 0 15px 15px;
  23. border-color: transparent transparent transparent #fff;
  24. z-index: 0;
  25. }
  26.  
  27. ul li:first-child:before {
  28. border-color: transparent;
  29. }
  30.  
  31. ul li a:after {
  32. content: " ";
  33. height: 0;
  34. width: 0;
  35. position: absolute;
  36. right: -15px;
  37. border-style: solid;
  38. border-width: 15px 0 15px 15px;
  39. border-color: transparent transparent transparent #ccc;
  40. z-index: 10;
  41. }
  42.  
  43. ul li.active a {
  44. background: orange;
  45. z-index: 100;
  46. }
  47.  
  48. ul li.active a:after {
  49. border-left-color: orange;
  50. }
  51.  
  52. ul li a {
  53. display: block;
  54. background: #ccc;
  55. }
  56.  
  57. ul li a:hover {
  58. background: pink;
  59. }
  60.  
  61. ul li a:hover:after {
  62. border-color: transparent transparent transparent pink;
  63. }

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

猜你在找的CSS相关文章