我实现了以下CSS Selector
选择所有span
个元素,但那些类包含单词图标
所以以下似乎正在起作用:
.music-site-refresh span:not([class*="icon-"]) {
font-family:Montserrat, sans-serif;
}
但我认为它应该是这样的:
.music-site-refresh span:not(span[class*="icon-"]) {
font-family:Montserrat, sans-serif;
}
但第二个在我的测试平台上不起作用。
有人能解释一下哪一个是正确的,为什么?
以下是一些barfed html:
<span class="cmImageSliderIndicatorActive icon-circle-blank" data-set="0"></span>
<div class="janrain-share-providerslist-provider-image janrain-provider-icon-grayscale-email"></div>
还有更多图标。它不是icon
类,这就是我使用class*
答案 0 :(得分:3)
在CSS中,:not
被视为伪类,它将其与其他伪类(如:hover
,:focus
放在同一类别中,等
我认为在考虑其中一个伪类时解释这个更有意义。让我们看看:hover
作为一个例子..当你使用{{1它看起来像这样:
:hover
你可以看到冒号将div:hover {}
pseduo-class连接到元素..这就是&#34;伪类&#34;名称来自......它不是一个真正的CSS类,但它的行为与一个类似。它作为修饰符应用于选择器中的原始元素。
现在让我们再看看hover
。当你在选择器上使用这个伪类时,它已加入它...所以说:not
可以被认为是这样写出来的,为了简化它: / p>
:not(span.icon)
这没有任何意义。