首页 > web前端 > css教程 > 正文

一个元素上可以有多个 :before 伪元素吗?

Barbara Streisand
发布: 2024-11-11 16:38:03
原创
680 人浏览过

Can You Have Multiple :before Pseudo-Elements on One Element?

多个 :before 伪元素

一个元素可以拥有多个 :before 伪元素吗?使用 jQuery 将样式应用于同一元素时会出现此问题,其中似乎只有最新的样式才会生效。

CSS2.1 限制

在 CSS2.1 中,一个元素在任何给定时间只能有一个特定类型的伪元素。因此,一个元素可以同时具有 :before 和 :after 伪元素,但每个伪元素不能超过一个。

级联行为

多个 :before 规则相同的元素被级联并应用于单个 :before 伪元素。优先级最高的规则(通常是最后一个)优先。在提供的示例中:

.circle:before {
    content: "CF";
    font-size: 19px;
}
.now:before{
    content: "Now";
    font-size: 19px;
    color: black;
}
登录后复制

仅应用最后一条规则“Now”中的内容声明。其余声明将被丢弃,与普通元素属性类似。

组合选择器

如果多个选择器匹配同一个元素并且您希望应用它们的所有样式,请生成额外的具有组合选择器的 CSS 规则。对于给定的示例,这将是 .circle.now:before 或 .now.circle:before。

旧版 CSS3 内容规范

已弃用的 css3 内容规范建议使用一种符号来插入多个与 CSS2.1 级联兼容的 ::before 和 ::after 伪元素。不过,此功能已过时,尚未被任何浏览器实现。

以上是一个元素上可以有多个 :before 伪元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板