咱們一般的作法是先給每一個菜單項設置邊框,而後在設置最後一個菜單的邊框爲零css
/* add border */ .nav li { border-right: 1px solid #666; } //* remove border */ .nav li:last-child { border-right: none; }
不過不要這麼作,使用 :not() 僞類來達到一樣的效果:html
.nav li:not(:last-child) { border-right: 1px solid #666; }
固然,你也可使用 .nav li + li 或者 .nav li:first-child ~ li ,可是 :not() 更加清晰,具備可讀性html5
.nav li + li{ border-left:1px solid #666;} /*.nav li:first-child ~ li{ border-left:1px solid #fff; }*/
(注:第一個子元素的下標是 1)css3
:nth-child(3) 表示選擇列表中的第三個元素瀏覽器
:nth-child(2n)表示列表中的偶數標籤,即選擇第二、第四、第6……標籤less
:nth-child(2n-1) 表示選擇列表中的奇數標籤,即選擇 第一、第三、第五、第7……標籤ide
:nth-child(n+3) 表示選擇列表中的標籤從第3個開始到最後(>=3)spa
:nth-child(-n+3) 表示選擇列表中的標籤從0到3,即小於3的標籤(<=3)code
:nth-last-child(3) 表示選擇列表中的倒數第3個標籤orm
:nth-of-type(n) 匹配屬於父元素的特定類型的第 N 個子元素的每一個元素
video[autoplay]:not(:muted){ display:none; }
再次,利用了:not()
的優勢
IE 中的條件註釋對 IE 的版本和 IE 非 IE 有優秀的區分能力,是 Web 開發中經常使用的hack方法,能對 IE 系列產品進行單獨的 HTML 代碼處理
<!--[if lt IE 9]> //解決ie9如下瀏覽器對html5新增標籤的不識別,並致使CSS不起做用的問題 <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"></script> //讓不支持css3 Media Query的瀏覽器包括IE6-IE8等其餘瀏覽器支持查詢 <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <![endif]—>
一般搭配word-wrap:break-word;和word-break:break-all;使用
word-wrap: normal|break-word;
word-break: normal|break-all|keep-all;
注:未完待續,發現新的技巧會持續更新,若有更好的技巧,歡迎留言討論