在日常开发中经常会遇到在循环中的最后一个li不同于其他的li,要去除某种css样式,本文介绍的是利用CSS3新增的:not()伪类选择符,实现起来非常的方便,感兴趣的朋友们下面来一起看看吧。
本文中用到的是CSS3新增的:not()伪类选择符,可以匹配不含有选择符的元素。假定有个列表,每个列表项都有一条底边线,但是最后一项不需要底边线
实例代码如下:
复制代码代码如下: <!DOCTYPE> <html> <head> <meta charset="utf-8" /> <title>使用:not() 最后一行li不添加边框</title> <style type="text/css"></p>
<p>/* 使字体在所有设备上都达到最佳的显示 */ html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }</p>
<p>/* 给body添加阴影 */ body:before { content: ""; position: fixed; top: -10px; left: 0; width: 100%; height: 10px; -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8); -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8); box-shadow: 0px 0px 10px rgba(0,0,0,.8); z-index: 100; }</p>
<p>/* 设置列表 */ .listItem { border: 1px solid red; } .listItem ul { width: 100%; overflow:hidden; } .listItem ul,listItem li { margin:0; padding:0; list-style:none; } .listItem li { margin-left:10px; } /* li 最后一个元素不添加边框 */ .listItem li:not(:last-child) { border-bottom:1px solid green; } /* 与第一个li相连兄弟 */ .listItem li:first-child ~ li { border-left: 1px solid #666; } </style> </head></p>
<p><body></p>
<p> <div class="listItem"> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> <li>列表4</li> <li>列表5</li> </ul> </div> </body> </html>
总结 以上就是利用CSS3 :not()选择器去除最后一行li的某种css样式,怎么样?还是很方便的吧,希望这篇文章对大家学习或者使用CSS3能有所帮助,如果有疑问大家可以留言交流。 |