回答:
他の2つのセレクターを次々に配置する場合と同様に(たとえばli a
)、子孫コンビネーターを取得します。だから、* *
他の要素の子孫であるすべての要素がある-つまり、任意の要素ではありません文書全体のルート要素が。
* { font-size: XXX }
ルールと* * { font-size: YYY }
ルールが。そのうちの1つはほとんどのブラウザに当てはまり、もう1つは特定のバグのあるブラウザに当てはまりますが、詳細を理解するための忍耐力はありません。これは、* html
古いIEを検出するために一般的に使用されていたハックに似ています。
* html
、IE6のhtml要素* *
と一致することに注意してください。
ほんの少し大きな例:
これをあなたのサイトに追加してみてください:
* { outline: 2px dotted red; }
* * { outline: 2px dotted green; }
* * * { outline: 2px dotted orange; }
* * * * { outline: 2px dotted blue; }
* * * * * { outline: 1px solid red; }
* * * * * * { outline: 1px solid green; }
* * * * * * * { outline: 1px solid orange; }
* * * * * * * * { outline: 1px solid blue; }
デモ: http : //jsfiddle.net/l2aelba/sFSad/
例2:
*
は、すべての要素に特定のスタイルを適用することを意味します。
* *
は、指定されたスタイルをすべての要素の子要素に適用することを意味します。例:
body > * {
margin: 0;
}
これにより、本文のすべての子要素にマージンスタイルが適用されます。同じ方法、
* * {
margin: 0;
}
の子要素に適用さmargin: 0
れ*
ます。つまり、margin: 0
ほとんどすべての要素に適用されます。
通常は1つ*
で十分です。2つは必要ありません* *
。
* *
子要素ではなく子孫要素にスタイルを適用します。子要素は>
スペースではなく、例のようになります。子孫と子供は同じものではありません。