swa*_*esh 97 html css css-selectors
最近我遇到* *了CSS.
站点参考 - 站点链接.
对于*CSS样式表中的单一用法,Internet和Stack Overflow充满了示例,但我不确定* *在CSS中使用两个符号.
我用谷歌搜索,但无法找到任何相关的信息,因为单个*选择所有元素,但我不知道为什么该网站使用它两次.缺少什么是这个,为什么这个黑客被使用(如果它是一个黑客)?
hob*_*bbs 138
就像任何其他时间你一个接一个地放置两个选择器(例如li a),你得到了后代组合器.所以,* *是任何其他元素的后代的任何元素-换句话说,任何元素不是整个文档的根元素.
l2a*_*lba 80
只是一个小例子:
尝试在您的网站上添加此内容:
* { 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; }
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/l2aelba/sFSad/
例2:
演示: http ://jsfiddle.net/l2aelba/sFSad/34/
小智 11
* 意味着将给定的样式应用于所有元素.
* *表示将给定样式应用于所有元素的子元素.例:
body > * {
margin: 0;
}
Run Code Online (Sandbox Code Playgroud)
这会将边距样式应用于正文的所有子元素.同样的方式,
* * {
margin: 0;
}
Run Code Online (Sandbox Code Playgroud)
适用margin: 0于*儿童元素.简而言之,它margin: 0几乎适用于所有元素.
一般来说,一个*就足够了.没有必要两个* *.