直接上效果图:
<ul class="navs"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul>
.navs { height: 100px; } .navs li { padding: 0px 10px 0 30px; line-height: 40px; background: #50abe4; display: inline-block; color: #fff; position: relative; } .navs li:after { content: ''; display: block; border-top: 20px solid #50abe4; border-bottom: 20px solid #50abe4; border-left: 20px solid #fff; position: absolute; right: -20px; top: 0; } .navs li:after { content: ''; display: block; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-left: 20px solid #50abe4; position: absolute; right: -20px; top: 0; z-index: 10; } .navs li:before { content: ''; display: block; border-top: 20px solid #50abe4; border-bottom: 20px solid #50abe4; border-left: 20px solid #fff; position: absolute; left: 0px; top: 0; } .navs li:first-child { border-radius: 4px 0 0 4px; padding-left: 25px; } .navs li:last-child, .cssNavEnd { border-radius: 0px 4px 4px 0px; padding-right: 25px; } .navs li:first-child:before { display: none; } .navs li:last-child:after, .cssNavEnd:after { display: none; } .navs li.active { background-color: #ef72b6; } .navs li.active:after { border-left-color: #ef72b6; }
最近有点忙, 有空的时候再分析一下实现原理 : )