3 回答

TA貢獻1856條經(jīng)驗 獲得超5個贊
一個您發(fā)布的版本的實際工作為所有現(xiàn)代瀏覽器(如CSS選擇3級的支持):
div ul:not(:first-child) {
background-color: #900;
}
如果您需要支持舊版瀏覽器,或者由于:not選擇器的限制(僅接受一個簡單的選擇器作為參數(shù))而受到阻礙,則可以使用另一種技術(shù):
定義一個范圍比您想要的更大的規(guī)則,然后有條件地“撤銷”它,將其范圍限制為您想要的:
div ul {
background-color: #900; /* applies to every ul */
}
div ul:first-child {
background-color: transparent; /* limits the scope of the previous rule */
}
限制范圍時,請為您設(shè)置的每個CSS屬性使用默認值。

TA貢獻1858條經(jīng)驗 獲得超8個贊
這個CSS2解決方案(“一個ul又一個ul”)也可以使用,并且得到更多瀏覽器的支持。
div ul + ul {
background-color: #900;
}
不同于:not和:nth-sibling,IE7 +支持相鄰的兄弟選擇器。
如果您有JavaScript在頁面加載后更改了這些屬性,則應(yīng)查看IE7和IE8實現(xiàn)中的一些已知錯誤。 請參閱此鏈接。
對于任何靜態(tài)網(wǎng)頁,這應(yīng)該都能正常工作。

TA貢獻1111條經(jīng)驗 獲得超0個贊
由于IE6-8:not不接受,因此我建議您這樣做:
div ul:nth-child(n+2) {
background-color: #900;
}
因此,您可以選擇ul其父元素中的每個元素(第一個元素除外)。
有關(guān)更多示例,請參見Chris Coyer的“有用的第n個孩子的食譜”一文。nth-child
添加回答
舉報