我在http://www.w3.org/TR/selectors/#selectors中看到以下内容,但我无法正确理解。它是什么?
E + F an F element immediately preceded by an E element
E > F an F element child of an E element
答案 0 :(得分:1)
<e></e><f></f> — an F element immediately preceded by an E element
<e><f></f></e> — an F element child of an E element
答案 1 :(得分:1)
<div>
<span id="A"></span>
</div>
<div id="B"></div>
E + F
与身份<div>
的{{1}}匹配。
B
与身份E > F
的{{1}}匹配。
不同的是,元素<span>
是元素A
的兄弟还是子元素。
答案 2 :(得分:1)
E + F
:这会在同一嵌套级别选择F
元素 {/ 1}}元素旁边的元素。例如:
E
注意:不要与兄弟选择器 .a + .b { background-color:blue; }
<div class='a'>.....</div>
<div class='b'>This will be blue, because it is next to the 'a' element.</div>
混淆。两者都适用于文档中处于相同嵌套级别的元素,但E ~ F
具体表示它们必须彼此相邻,而+
是任何兄弟元素,因此对于~
可能是~
和a
之间的另一个元素,它仍然有用,但不适用于b
。
+
:这会选择E > F
1>}元素内的元素,即更深的嵌套级别。例如:
F
注意:不要与后代选择器E
混淆,后者也会查看彼此嵌套的元素,但它可以应用于任何级别的嵌套。因此,对于 .c > .d { background-color:red; }
<div class='c'>
<div class='d'>This will be red, because it is immediately inside the 'c' element.</div>
</div>
,可能会有更多元素嵌套在E F
和.c .d
之间,它仍然有用,但不适用于c
。
我希望能为你澄清一些事情。