2015-05-07 102 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