我正在尝试让我的图标字体工作,我需要排除icon-blue
[class^="icon-"], [class*=" icon-"] {
font-family: 'fontname';
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
我该怎么做?
First
[class^="icon-"], [class*=" icon-"]
没有意义,因为 [class^="icon-"] 包含在 [class*=" icon-"] 中
要排除,您可以使用:
[class*="icon-"]:not(.icon-blue)
你有一个完整的例子可以在这里玩:http://codepen.io/luarmr/pen/dozjZW
你可以使用 :not() 选择器,比如
[class^="icon-"]:not([class="icon-blue"]),
[class*="icon-"]:not([class="icon-blue"]) {
font-family: 'fontname';
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
[class^="icon-"]:not([class="icon-blue"]),
[class*="icon-"]:not([class="icon-blue"]) {
background: green;
}
<div class="icon-red">test</div>
<div class="icon-yellow">test</div>
<div class="icon-blue">blue</div>
<div class="small-icon-red">test</div>
请注意,您可以将选择器简化为仅
[class*="icon-"]:not([class="icon-blue"]) {
因为*=
也将涵盖^=
案例。