综观其他SO问题,我已经了解到, *=
表示“包含”和^=
的意思是“开始”。 我注意到[class^="icon-"], [class*=" icon-"] {/* CSS Here */}
在一些第三方的CSS代码。 这令我多余的; 我不清楚为什么[class*=" icon-"] {/* CSS Here */}
不会已经足够了。
是否重复使用的^=
选择任何目的(如,可读性,旧的浏览器支持等)?
问参考:
什么是用于在CSS中选择元素时插入符号符号^?
什么是一个等号之前的星号意味着(* =)? 怎么样的感叹号?
这不是一个多余的选择。 它可能用于选择与所述元件icon-
即使它是第二个类列表像在下面片断类。
[class^="icon-"]
将只选择其为类属性值开头的元素icon-
。
[class*=" icon-"]
将选择包含一类具有所有元素icon-
在其的类别列表。 注意它们如何专门之前所使用的空间。
引用CodingWithSpike的评论
[class*="icon-"]
没有空格也将匹配等不期望的类not-icon-1
或lexicon-name
为什么被包括前导间隔这是可能的。
从本质上说,选择组用于选择谁至少有一个类开头的所有元素icon-
作为他们的班级名单的一部分。
[class^="icon-"] { color: green; } [class*=" icon-"] { color: red; } [class^="icon-"], [class*=" icon-"] { background: beige; } [class*="icon-"]{ border: 1px solid brown; }
<div class="icon-1">Only Icon class</div> <div class="a icon-1">Some other class before</div> <div class="a not-icon-1">Some other class before</div>