是`div>和`div a`一样的东西?

时间:2011-01-11 22:14:56

标签: css html css-selectors

在CSS中,选择器div > adiv a是否相同?

<div>
  <a>Hi</a>
</div>

4 个答案:

答案 0 :(得分:10)

不是。 “div > a”是child selector;它表示“a元素是div直接孩子”。 “div a”是descendant selector;它的意思是“a元素,它是div”的后代(一个孩子,或一个孩子的孩子,或一个孩子的孩子,。 ..)。当然,所有儿童元素都是后代;但并非所有的后代都是孩子。

例如:

<div>
  <a href='http://www.google.com'>Google</a>
</div>

匹配div > adiv aadiv的子元素,当然所有子元素也是后代元素。

可是:

<div>
  <span>
    <a href='http://www.google.com'>Google</a>
  </span>
</div>

...与div > a不符,但匹配div a,因为a是后代,但不是直接的孩子(有一个{中间的{1}}。

Live example

答案 1 :(得分:3)

不是。

<div><h1><a>some text</a></h1></div>

在上面的HTML中,div > a不会选择<a>,因为它不是<div>的直接子项。

答案 2 :(得分:2)

答案 3 :(得分:0)

不,他们不一样。第一个选择a元素 children div元素,而第二个元素选择后代的所有a元素div元素,例如<div><p><a>...</a></p></div>

相关问题