首頁  >  文章  >  web前端  >  如何在 Internet Explorer 8 中使用 :nth-child:解決方法

如何在 Internet Explorer 8 中使用 :nth-child:解決方法

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-12 05:03:02468瀏覽

How to Use :nth-child in Internet Explorer 8: A Workaround

IE8 :nth-child 和 :before: 修復

Internet Explorer 8 因與現代 Web 標準不一致而臭名昭著。開發人員面臨的一個常見問題是缺乏對 CSS nth-child 選擇器的支援。

問題

考慮以下CSS 程式碼:

#nav-primary ul li:nth-child(1) a:after { }

雖然這段程式碼在大多數現代瀏覽器中都能完美運行,但在Internet Explorer中卻神秘地失敗了8.

解決方案

儘管 IE8 帶來了挑戰,但還是有一個解決方法來模擬 :nth-child 功能。透過利用相鄰同級組合器 ( ),您可以定位序列中的特定元素:

#nav-primary ul li:first-child a {
    border-top: 5px solid red;
}
#nav-primary ul li:first-child + li a {
    border-top: 5px solid blue;
}
#nav-primary ul li:first-child + li + li a {
    border-top: 5px solid green;
}

使用此方法,您可以模擬 :nth-child 的基本變體。然而,更複雜的變體,如 :nth-child(odd) 或 :nth-child(4n 3) 無法使用此方法複製。

注意: 雖然此解決方法解決了以下問題將樣式應用於序列中的特定元素,它可能無法完全複製:nth-child 的行為,並且可能會在更複雜的場景中導致意想不到的後果。

以上是如何在 Internet Explorer 8 中使用 :nth-child:解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn