2013-01-10 24 views
17

私は:last-childで最後の寒さを選択することができます知っています。これは最後の3つの子を選択してください

<div id="something"> 

    <a href="images/x.jpg" ><a/> 
    <a href="images/x.jpg" ><a/> 
    <!-- here some more 

    and than i need to select these --> 
    <a href="images/x.jpg" ><a/> 
    <a href="images/x.jpg" ><a/> 
    <a href="images/x.jpg" ><a/> 

</div> 

を働いているか、今私は:nth-last-childと呼ばれるものがある知っている、唯一の問題は、私は:nth-childを使用カントので、お子様の量が分からないのです、最後の3つのチャイルズを選択する必要がありますが、私は本当に理解カント今私はこのようないくつかのことを必要とする:

#something a:last-child{ 
    /* only now it needs to select 2 more a's that are before this child */ 
} 
+1

'返します:n番目の最後-child'、'と基本的に同じ:n番目の-child'が、カウント最後から最初に私の知る限りにします。 –

+0

今問題は、最後の3を選択する必要があるということです。 – Ivo

+0

P.S.タグを閉じることは '

'ではなく、 '
'です。 –

答えて

59

あなたは番目の、最後の子についてhere詳細を読むことができますが、これは基本的にはCSSとの最後の3人の子供

#something a:nth-last-child(-n+3) { 
    /*declarations*/ 
} 

fiddleFABRICIOマットからデモ

これを選択するトリックを行う必要がありますは、N番目の式(-n + 3)の正の数を返す行のみを選択します.nth-last-childを使用しているので、最後から最初に数えて となるので、最初の行が下から

f(n) = -n+3 
f(1) = -1+3 = 2 <- first row from the bottom 
f(2) = -2+3 = 1 <- second row from the bottom 
f(3) = -3+3 = 0 <- third row from the bottom 

他のすべてが負の数

+2

あなたの答えが –

+0

a -nの場合、P [fiddle](http://jsfiddle.net/6BV3K/)これはもちろん3,2,1,0、-1のenzを作成するので、選択するだけです最後の3 – Ivo

5

これはCSS3のセレクタとformulasで可能です:

.something a:nth-last-child(-n+3) { ... } 

また、using jQuery (example)を試したり、サーバーサイドコードの最後の3つの要素に特定のクラスを追加することもできます(ブラウザでJavaScriptを有効にする必要はなく、CSS3をサポートしない古いブラウザでも機能します)。

関連する問題