2017-06-06 6 views
0

私が構築している単純なページャでは、現在のページが最初のページまたは最後のページの場合、特定のスタイルを現在のページに適用する必要があります。また、通常のクラスセレクタに加えて:first-of-type/:last-of-typeセレクタの使用方法はわかりません。Cssセレクタ:first/last-of-typeと別のクラスを持っています

<div id="myPages"> 
     <div class="something-else"></div> 
     <div class="page-number current-page">1</div> 
     <div class="page-number">2</div> 
     <div class="page-number">3</div> 
     <div class="another-one"></div> 
    </div> 

私は#myPages .page-number:first-of-type.current-pageのようなものが欲しいのですが、それは理由something-elseanother-one div要素の動作しません。

たとえば、私のjsFiddleでは、「1」を青色にしたいと思います。

ありがとうございました。

[編集]私はバイオリンを更新しました、私はそれが私の考え:)

+0

擬似クラス選択の要素ではなく、要素のクラス。ミックスにクラスを追加すると、それはフィルタのように機能し、より制限的になります。 – j08691

+0

はい、私はそれがCSSの '最後のクラス'の機能であるとは思わない –

+0

それが役立つかどうか確認してください:https://jsfiddle.net/bd21cxab/2/ – Gerard

答えて

-1

UPDATE取得するための最良の方法だと思う:投稿者が自分の質問を変更したようにを、私は私の答えを更新しました:

#explain { 
 
    margin-bottom: 20px; 
 
} 
 

 
#myPages .something-else+.current-page { 
 
    color: blue; 
 
} 
 

 
#myPages div:nth-last-child(2) { 
 
    color: red; 
 
}
<div id="explain"> 
 
    Please note:<br> - there will be only one 'page-number' with 'current-page' in my app<br> - I don't know in advance how many pages there will be (so nth-child cannot work) 
 
</div> 
 
<div id="myPages"> 
 
    <div class="something-else"></div> 
 
    <div class="page-number current-page">1 - Should be blue because it is the first page-number <strong>and</strong> it has the current-page class</div> 
 
    <div class="page-number">2</div> 
 
    <div class="page-number current-page">3 - Nothing should happen</div> 
 
    <div class="page-number current-page">4 - Should be red because it is the last page-number <strong>and</strong> it has the current-page class</div> 
 
    <div class="another-one"></div> 
 
</div>

+0

セレクタが選択されていないので、 nth-of-items-with-this-classですが、クラスに関係なく、親のn番目の子でもあるこのクラスのアイテムです。したがって、1は2の代わりに青で塗りつぶされています。 –

+0

私は前もってページ数を知りません。私は現在のページが –

+0

@ValentinCoudertになることはありません。私は答えを更新しました。これはあなたが探しているものですか? – reinierkors

関連する問題