2015-05-07 95 views
-4

任何人都可以解释这两者之间的区别吗?CSS - 了解儿童选择器

p a { 
    color: red; 
} 

p > a { 
    color: red; 
} 

谢谢。

+1

在这种情况下,“任何人”都是[官方CSS规范](http://www.w3.org/TR/css3-selectors/#combinators),它最好。 – Boldewyn

回答

3

'p a'将选择包含在p元素(后代)中的所有'a'元素,即使它们不是直接子元素。

'p'a'将只会选择p也是'a'元素的直接子元素。

的jsfiddlehttps://jsfiddle.net/seadonk/a9mfbbax/

HTML:

<p> 
    <a>CHILD A1</a> 
    <span><a>DESCENDENT A2</a></span> 
    <a>CHILD A3</a> 
</p> 

CSS:

/* DESCENDENTS WILL BE RED */ 
p a{ 
    color: white; 
    background-color: red; 
} 

/* CHILDREN WILL BE BLUE */ 
p>a { 
    background-color: blue; 
    color: white 
} 

W3C Schools CSS Selector Reference

+0

很感谢。为什么这次被投票。 – rjtkoh

+0

不知道,但我已经更新了我的答案,包括一个小提琴来玩,希望它有帮助。 – Brino