首页 > web前端 > css教程 > 为什么 `:before` 和 `:after` 伪元素不能与 `` 元素一起使用?

为什么 `:before` 和 `:after` 伪元素不能与 `` 元素一起使用?

DDD
发布: 2024-12-19 01:36:17
原创
700 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板