在CSS 中混合供應商特定的偽元素和類別
在CSS 中,我們經常使用供應商特定的偽元素和類別來增強瀏覽器相容性。然而,儘管共享相似的屬性,但不可能將它們組合成一個規則集。
為什麼不行?
CSS2.1 規定選擇器必須在使用者代理程式應用聲明區塊。在選擇器中新增供應商名稱前綴會導致某些瀏覽器無法辨識字元。因此,用戶代理必須放棄這些規則以保持有效性。
具體來說:
對樣式的影響
例如,當設定佔位符在文字樣式時,此限制迫使我們編寫多個冗餘規則,因為每個供應商都需要單獨的規則前綴:
input:-moz-placeholder { font-style: italic; text-align: right; } input::-moz-placeholder { font-style: italic; text-align: right; } input:-ms-input-placeholder { font-style: italic; text-align: right; } input::-webkit-input-placeholder { font-style: italic; text-align: right; }
結論
理解這個限制可以讓我們建立有效且一致的CSS樣式。雖然供應商前綴有時對於瀏覽器相容性是必要的,但由於瀏覽器特定的解析規則,將它們混合在單一規則集中仍然不可行。
以上是為什麼我不能將供應商特定的偽元素和類別組合到單一 CSS 規則中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!