例如: html
div > p.some_class { /* Some declarations */ }
>
符號究竟是什麼意思? ide
<div> <p class="some_class">lohrem text (it will be of red color )</p> <div> <p class="some_class">lohrem text (it will NOT be of red color)</p> </div> <p class="some_class">lohrem text (it will be of red color )</p> </div>的CSS
div > p.some_class{ color:red; }
全部帶有.some_class
<p>
的直接子代都將應用樣式。 spa
全部具備some_class
類的p
標籤都是div
標籤的直接子代。 code
它匹配直接位於div
下的具備some_class
類的p
元素。 htm
>
是子組合器 ,有時會誤稱爲直接後代組合器。 1個 rem
這意味着選擇器div > p.some_class
僅選擇直接嵌套在 div
內部的.some_class
段落, .some_class
選擇嵌套在其內部的任何段落。 get
插圖: it
<div> <p class="some_class">Some text here</p> <!-- Selected [1] --> <blockquote> <p class="some_class">More text here</p> <!-- Not selected [2] --> </blockquote> </div>
選擇了什麼,沒有選擇什麼: io
已選
該p.some_class
直接位於div
內部,所以在兩個元素之間創建了父子關係。 class
未選中的
此p.some_class
由div
的blockquote
包含,而不是由div
自己包含。 儘管此p.some_class
是div
的後代,但它不是孩子。 是孫子
所以,雖然div > p.some_class
與該元素不匹配,但div p.some_class
將使用後代組合器代替。
1 許多人甚至將其稱爲「直子」或「直子」,但這是徹底沒有必要的(對我來講是使人討厭的),由於從定義上來講,子元素始終是直接的 ,所以它們的含義徹底相同。 沒有所謂的「間接孩子」。
正如其餘人提到的,它是一個子選擇器。 這是適當的連接。