首頁 > web前端 > css教學 > 為什麼 `:before` 和 `:after` 偽元素不能與 `` 元素一起使用?

為什麼 `:before` 和 `:after` 偽元素不能與 `` 元素一起使用?

DDD
發布: 2024-12-19 01:36:17
原創
765 人瀏覽過

Why Don't `:before` and `:after` Pseudo-elements Work with `` Elements?

用影像元素解決偽元素的功能

為了增強功能,這個問題探討了為什麼像:before 和:before 這樣的偽元素:after 不與圖像(為什麼 `:before` 和 `:after` 偽元素不能與 `` 元素一起使用?) 元素交互,就像與其他標籤(例如div 和span)交互一樣。為了說明問題,請考慮以下 HTML 和 CSS:

<img src="http://0.gravatar.com/avatar/this-is-not-a-hash" alt=""/>
登入後複製
img:before {
  content: "hello";
}
登入後複製

在 Chrome 13 和 Firefox 6 等瀏覽器中檢查此程式碼時,很明顯圖片元素沒有發生預期的變更。這種行為與 div 和 span 元素表現出的兼容性形成鮮明對比。

深入研究規範,我們會遇到以下摘錄:

Note. This specification does not fully define the interaction of ::before and ::after with replaced elements (such as IMG in HTML). This will be defined in more detail in a future specification.
登入後複製

此語句表明偽元素之間的交互定義不完整和圖像元素,暗示它們當前不相容。對於此事的進一步了解,請參閱本平台的另一個回應。

以上是為什麼 `:before` 和 `:after` 偽元素不能與 `` 元素一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板