我一直想知道这两个选择器之间有什么区别:
#someID img
和
#someID > img
他们两个都在影响img
里面的标签#someID
。
知道它们之间有什么区别吗?
我一直想知道这两个选择器之间有什么区别:
#someID img
和
#someID > img
他们两个都在影响img
里面的标签#someID
。
知道它们之间有什么区别吗?
>
表示立即嵌套。是的img
直系子级#someID
。第一个选择器将影响. 第二个只会影响直系子女。#someID
#someID img
将选择img
id 为的元素下的任何元素#someID
。
<div id="someID">
<img href="#" /><!-- selects this element -->
<div>
<img href="#" /><!-- also selects this element -->
</div>
</div>
#someID > img
只会选择img
id 为 的元素正下方的元素#someID
。
<div id="someID">
<img href="#" /><!-- selects this element -->
<div>
<img href="#" /><!-- doesn't select this element -->
</div>
</div>
>
是直接子选择器。
举个例子:
CSS
#wrapper > .one { border:10px solid red; }
.one { height:100px; width:100px; padding:20px; margin:50px; border:5px solid orange;}
HTML:
<div id="wrapper">
<div class="one">
<div class="one"></div>
</div>
</div>
只有.one
直接下的 div#wrapper
才会得到红色边框。
第二个仅匹配 ifimg
的直接后代#someID
,其中第一个不关心。
说明性示例:
<div id="someID">
<img .../> <!-- both "#someID img" & "#someID > img" -->
<div>
<img .../> <!-- only "#someID img" -->
</div>
</div>