Answers:
就像其他任何时候都将两个选择器一个接一个地放置(例如li a
)一样,您将获得后代组合器。所以,* *
是任何其他元素的后代的任何元素-换句话说,任何元素不是整个文档的根元素。
* { font-size: XXX }
规则,有* * { font-size: YYY }
规则。其中一种适用于大多数浏览器,另一种适用于存在一定错误的浏览器,尽管我没有耐心找出细节。它类似于* html
过去通常用于检测旧IE 的hack。
* 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:
* *
匹配除顶级元素(例如)以外的所有内容html
。
* *
等效于html *
...。但是CSS可以用于设置其他类型的文档样式(特别是SVG)。
*
意味着将给定的样式应用于所有元素。
* *
意味着将给定的样式应用于元素的所有子元素。例:
body > * {
margin: 0;
}
这会将边距样式应用于身体的所有子元素。同样的方法,
* * {
margin: 0;
}
适用margin: 0
于*
的子元素。简而言之,它适用margin: 0
于几乎所有元素。
通常,一个*
就足够了。不需要两个* *
。
* *
将样式应用于后代元素,而不是子元素。子元素将>
与您的示例相同,而不是空格。后代和孩子不是同一个人。