select器是做什么的?
我无法弄清楚这是什么:
http://twitter.github.com/bootstrap/assets/css/bootstrap-1.2.0.min.css的第33行
.row [class^="span"] { display: inline; float: left; margin-left: 20px; }
我了解风格,但我从来没有见过这种
[class^="span"]
这意味着一个以“span”开头的类,例如:
<div class="spanning"></div>
^
符号取自正则expression式,其中此符号表示string的开头。
应该注意的是,这将检查类属性的开始,而不是类名的开始。 这意味着它不会匹配所说的select器:
<div class="globe spanning"></div>
上面的元素有两个类,第二个以“span”开始 – 但由于属性class
以“globe”开始,而不是“span”,所以不匹配。
可以使用[class*=span]
,它将返回所有包含span的类,但是也会返回其他类,比如wingspan
。
AFAIK,获取以string开头的类的方法是使用双重select器:
.row [class^="span"], .row [class*=" span"]{}
这将返回以span开头的类,无论是在属性的开始还是在中间。
(我也记得在DOMParser使用的本土select器引擎中的解决scheme)。
这是一个属性select器,特别是CSS3子串匹配属性select器之一 。
此规则将样式应用于其class
属性以span
开头的任何元素( ^=
表示“开始于”),这发生在具有类row
任何元素中。
这是一个CSS属性select器。
看看http://www.w3.org/TR/css3-selectors/ (第2节)
E [foo ^ =“bar”]一个E元素,其“foo”属性值以string“bar”