css中的no-re

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS中的no-re指的是「不逆转负向嵌套规则」(no reverse),这是CSS选择器优先级计算中的一种规则,它的作用是避免同一元素在不同选择器中嵌套时产生预期之外的样式表现。在CSS选择器优先级

CSS中的no-re指的是「不逆转负向嵌套规则」(no reverse),这是CSS选择器优先级计算中的一种规则,它的作用是避免同一元素在不同选择器中嵌套时产生预期之外的样式表现。

在CSS选择器优先级计算中,同一元素在不同选择器中出现时,选择器的优先级会决定哪些样式会被应用到该元素上。但是当一个选择器包含另一个选择器时,选择器的优先级会受到影响。根据CSS选择器规范,如果被包含的选择器具有更高的优先级,那么它所包含的选择器的优先级就会被逆转。

/*代码示例*/

/* 嵌套选择器中的no-re规则 */
.container :not(.box) .text {
    color: red;
}

/* 当应用到以下HTML代码时 */
<div class="container">
    <div class="box"></div>
    <p class="text">这段文字应该是黑色的</p>
</div>

/* 因为no-re规则,这段文字的颜色实际上是黑色,而不是红色 */ 

为了避免这种预期之外的样式表现,可以使用no-re规则来阻止选择器优先级的逆转。在选择器中加上「:not()」伪类并在里面放置一个类名或ID名等选择器,就可以使用no-re规则。这个被放在「:not()」伪类中的选择器就不会影响到优先级计算。

/* 没有使用no-re规则 */
.container .box .text {
    color: red;
}

/* 使用no-re规则 */
.container :not(.box) .text {
    color: red;
} 

CSS中的no-re规则是很有用的一个技巧,可以帮助开发者更加准确地控制样式表现。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css中的no-re

粉丝

0

关注

0

收藏

0

已有0次打赏