CSS :不是选择器混淆行为
CSS :not selector confusing behavior
这里参考了这个codepenhttps://codepen.io/jamesbarnett/pen/vlpkh?editors=1100
我正在寻找一些纯粹的 CSS 星级评分系统。我真的对这个声明感到困惑
.rating:not(:checked) > label:hover
谁能解释一下这怎么可能?? .rating
是一个字段集元素。我们如何才能将 :not(:checked)
选择器应用于它。它永远不会被检查。如果这是 .rating input:not(:checked)
,那对我来说就有意义了。
它是否以某种方式选择其中的输入。因为我找不到任何支持 CSS :not
选择器这种行为的文档。
我无法理解它是如何工作的。
由于具有 class 'rating' 的元素不是可检查的输入元素,因此 :checked
伪 class 永远不会匹配。
相反,not(:checked)
将 总是 匹配 (demo) - 使其在功能上冗余(除了为了增加特异性),因此可以安全地省略
请注意,您可以从该选择器中删除伪 class,并且演示仍然有效
(updated codepen).
这里参考了这个codepenhttps://codepen.io/jamesbarnett/pen/vlpkh?editors=1100
我正在寻找一些纯粹的 CSS 星级评分系统。我真的对这个声明感到困惑
.rating:not(:checked) > label:hover
谁能解释一下这怎么可能?? .rating
是一个字段集元素。我们如何才能将 :not(:checked)
选择器应用于它。它永远不会被检查。如果这是 .rating input:not(:checked)
,那对我来说就有意义了。
它是否以某种方式选择其中的输入。因为我找不到任何支持 CSS :not
选择器这种行为的文档。
我无法理解它是如何工作的。
由于具有 class 'rating' 的元素不是可检查的输入元素,因此 :checked
伪 class 永远不会匹配。
相反,not(:checked)
将 总是 匹配 (demo) - 使其在功能上冗余(除了为了增加特异性),因此可以安全地省略
请注意,您可以从该选择器中删除伪 class,并且演示仍然有效 (updated codepen).