* * CSSselect器是做什么的?

最近我遇到* *在CSS中 。

网站参考 – 网站链接 。

对于CSS样式表中的一个单独的*用法,Internet和Stack Overflow充斥着示例,但我不确定在CSS中使用两个* *符号。

我GOOGLE了,但无法find任何有关的信息,作为一个*select所有的元素,但我不知道为什么该网站使用了两次。 这个缺失的部分是什么,为什么这个黑客使用(如果它是一个黑客)?

就像其他任何时候你一个接一个地select两个select器(例如li a )一样,你会得到后代组合器。 所以* *是任何元素是任何其他元素的后代 – 换句话说,任何不是整个文档的根元素的元素。

只是一个小例子:

尝试添加到您的网站上:

 * { 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:

* * CSS选择器是做什么的?

演示: http : //jsfiddle.net/l2aelba/sFSad/34/

* *匹配除顶层元素之外的所有内容,例如html

*表示对所有元素应用给定的样式。

* *表示将给定的样式应用于所有元素的子元素。 例:

 body > * { margin: 0; } 

这将margin属性应用于body的所有子元素。 同样的方式,

 * * { margin: 0; } 

应用margin: 0*的子元素。 简而言之,它将margin: 0应用于几乎所有的元素。

一般来说,一个就足够了。 不需要两个* *

select所有嵌套在另一个元素中的元素,就像div aselect嵌套在<div>元素内的所有<a>元素一样。