CSS選擇除了某個元素可以通過偽類的:not()來實現,比如我們有一個ul列表,我們想給除了第一個li元素之外的所有li元素加上樣式,可以這樣寫:
ul li:not(:first-child) { background-color: #eee; }
這個選擇器的意思是,選取ul下的所有li元素,但排除第一個子元素。
除了:first-child偽類,我們還可以使用:last-child, :nth-child(n), :nth-last-child(n), :only-child這些偽類選擇器。而且它們也可以進行組合使用,比如:
/* 選擇第2個到第4個子元素,但不包括第3個子元素 */ li:nth-child(n+2):nth-child(-n+4):not(:nth-child(3)) { color: blue; }
這個選擇器把li元素的第2個到第4個子元素選中,過濾掉第3個子元素,為這些元素添加blue顏色。
有了:not()偽類,可以更方便地對頁面元素進行選擇,避免了一些不必要的麻煩。
下一篇css選框怎么做