簡介:
使用 CSS 時,會出現一個常見問題:多個 :before 偽元素可以應用在單一元素上嗎?為了理解答案,讓我們深入研究偽元素的概念,並探討它們如何與級聯互動。
CSS 偽元素和級聯:
在 CSS2.1 中,一個元素一次只能擁有一個特定類型的偽元素,例如 :before 或 :after。這意味著一個元素可以同時擁有兩個實例,但不能擁有多個相同類型的實例。
使用 jQuery 的範例:
如給定程式碼所示,嘗試應用多個 :before 偽- 使用 jQuery將元素轉換為一個元素只會導致最後一個元素被佔用效果:
.circle:before { content: "CF"; font-size: 19px; } .now:before{ content: "Now"; font-size: 19px; color: black; }
級聯行為:
當多個:before 規則應用於相同元素時,它們遵循級聯規則,其中優先順序較高的規則(最後一個規則) ) 覆蓋其他的。這會產生一個:before 偽元素,其中僅包含最後一條規則的聲明,如下所示:
.circle.now:before { content: "Now"; font-size: 19px; color: black; }
克服限制:
如果有多個:before對於相同元素需要聲明,需要使用組合選擇器建立額外的CSS 規則。這允許為不同的類別組合指定所需的行為:
.circle.now:before { /* Specific rule for .circle with .now */ } .now.circle:before { /* Specific rule for .now with .circle */ }
舊版CSS 和未來發展:
已棄用的css3 內容規範建議使用插入多個偽元素與CSS2.1 級聯相容的表示法。然而,這個功能從未實現。目前,css-content-3 和 css-pseudo-4 草案由於缺乏興趣而省略了此功能。
以上是可以將多個 :before 偽元素套用到單一元素嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!