2014-01-22 145 views
0

CSS選擇比方說,我的HTML看起來像這樣:的第一個子元素

<div class="container"> 
    <... some html here ...> 
</div> 

我想要得到的.container的第一直接子。

我可以做.container > div:first-child但這是假設它是div並非總是如此。

+6

'.container>:沒有'div'部分的first-child'。 – Sampson

回答

6

使用:first-child僞類沒有標記名:

.container > :first-child 

這會搶那是即時的第一個孩子,不論其標記名的任何元素。這與我們使用其他僞類(例如:hover)的方式類似,後者僅針對任何元素,而a:hover僅針對錨的懸停狀態。

+0

我可以問你一個簡單的附加問題嗎?在小提琴中使用你的代碼[像這樣](http://jsfiddle.net/xkX95/1/),我沒有看到任何CSS反映。但是,[這裏](http://jsfiddle.net/xkX95/2/)(注意省略**> **),我這樣做。對不起,標籤,我只是好奇。 –

+0

':第一個孩子'沒有針對textNodes。你需要有容器http://jsfiddle.net/jonathansampson/xkX95/5/內的元素 – Sampson

+1

乾杯! [工作就像你說的: - )](http://jsfiddle.net/xkX95/6/) –

0

不使用元素本身,但一個類是一個更好的解決方案和方式更多語義由於很多原因

,並給予類元素的孩子,不僅是這樣的容器:

HTML:

<article class="container"> 
    <p class="blah">First paragraph...</p> 
    <p class="blah">Lorem ipsum...</p> 
    <p class="blah">Dolor sit amet...</p> 
</article> 

CSS:

.blah { 
    background: red; 
    color: white; 
} 

.blah:first-child { 
    background: #000; 
} 

你可以看到它在行動這裏:http://jsfiddle.net/Roobyx/ygP4B/

+1

_(喬納森桑普森的答案不會工作..)_你確定嗎? [** fiddle **](http://jsfiddle.net/xkX95/8/) –

+0

真的沒有什麼理由給它一個類,當你可以像這樣定位它時,'.container p {}'。 http://jsfiddle.net/ygP4B/1/ –

+0

採取點! :) – MRadev

相關問題