61

これが何であるかわかりません:

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"]
4

3 に答える 3

85

これは、次のような「span」という単語で始まるクラスを意味します。

<div class="spanning"></div>

記号は正規表現から取得され、この^記号は文字列の先頭を参照します。

これは、クラス名の先頭ではなく、クラス属性の先頭をチェックすることに注意してください。つまり、上記のセレクターと一致しません。

<div class="globe spanning"></div>

上記の要素には 2 つのクラスがあり、2 番目のクラスは「span」で始まりますが、属性classが「span」ではなく「globe」で始まるため、一致しません。

を使用する[class*=span]と、span を含むすべてのクラスが返されますが、. などの他のクラスも返されwingspanます。

私の知る限り、文字列で始まるクラスを取得する方法は、ダブルセレクターを使用することです:

.row [class^="span"], .row [class*=" span"]{}

これにより、属性の先頭か中間かにかかわらず、span で始まるクラスが返されます。

( DOMParserで使用される自家製のセレクター エンジンのソリューションで作業したことも思い出します)。

于 2011-11-25T11:01:48.910 に答える
37

これは属性セレクターであり、具体的にはCSS3 部分文字列一致属性セレクターの 1 つです。

classこのルールは、 class を持つすべての要素に出現する、属性がspan( ^=「で始まる」を意味する) で始まるすべての要素にスタイルを適用しますrow

于 2011-09-09T19:09:24.007 に答える
4

それが CSS 属性セレクターです。

http://www.w3.org/TR/css3-selectors/ (セクション 2)をご覧ください。

E[foo^="bar"] "foo" 属性値が文字列 "bar" で始まる E 要素

于 2011-09-09T19:10:04.287 に答える