我想根據用戶類別 出現在父類中的次數來設置用戶div的樣式。我知道如何使用jQuery來做到這一點,但只有css3纔有可能?我只定位到Chrome瀏覽器。根據出現次數更改css
<div class="parent">
<div class="user"></div>
</div>
<div class="parent">
<div class="user"></div>
<div class="user"></div>
</div>
我想根據用戶類別 出現在父類中的次數來設置用戶div的樣式。我知道如何使用jQuery來做到這一點,但只有css3纔有可能?我只定位到Chrome瀏覽器。根據出現次數更改css
<div class="parent">
<div class="user"></div>
</div>
<div class="parent">
<div class="user"></div>
<div class="user"></div>
</div>
有一個選擇器叫做:nth-child(integer)。你可以這樣做
.parent .user:nth-child(1)
只會影響該.parent中的第一個.user。我不知道爲什麼它不是基於0的,但無論如何。此外,您還可以使用公式,如
.parent .user:nth-child(2n+2)
這隻會選擇每秒.parent。用戶
這裏的一些更多的閱讀
http://css-tricks.com/how-nth-child-works/
或顯示樣式基礎上如何用戶出現後,有第一個孩子的樣式,然後覆蓋它,同時造型的第二個孩子,並overwriding時,造型第三等解決方案。這裏有一個例子
http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/
有沒有做什麼你問,我所知道的方式。 Gareth Parker所關聯的方法要求您知道會有多少個孩子元素,或知道他們的最大數量。
我得到的最接近是風格,成功一個.user
元素的任何.user
元素:
.parent .user { background:red; }
.parent .user ~ .user { background:blue; }
這使用~
組合子,這是一般兄弟姐妹組合子。
Here它正在起作用。
你也可以,當然,應用類,你知道會裏有一個以上.user
元素的任何.parent
要素,然後只是針對給定的類內的任何.user
元素。
我不認爲我可以使用nth-child選擇器,因爲它只在父類中選擇一個div,我想根據父類中用戶div的數量進行樣式設置。 – Tarscher 2012-08-08 07:13:36
我編輯了我的答案以反映你想要的內容 – 2012-08-08 07:16:32