中間孩子僞類
回答
你試過:nth-child(#)
?
取決於你想選擇哪一個,你只需要用數字替換#。
只有在已知元素的數量開始的情況下才有效。我正在尋找一些可用於未知長度列表的東西。 – Jason
那麼,我想如果你不知道總數,這也不會有幫助,但如果你做 - 看看這個[CSS3-nth-child on SO](http:// stackoverflow。com/questions/6692145/n-child-css-matching-2nd-5th-8-elements),這與你的問題類似。 –
如果要將樣式應用於既不是第一個孩子也不是最後一個孩子的所有元素,則可以使用:not(:first-child)
,應用樣式,然後使用:last-child
從最後一個元素中「取走樣式」。但是你不得不考慮在少於3個元素時會發生什麼。
如果你想避免重複('採取風格離開'部分),檢查我的答案,結合兩個'不'選擇器,以捕獲所有的中間元素... :-) –
這一直工作很適合我:
*:not(:first-child):not(:last-child) {
...
}
這裏你可以看到這樣一個例子:http://codepen.io/bentomas/pen/Gwqoe
一個需要注意的情況是,它只能在IE 9:http://caniuse.com/#feat=css-sel3
雖然不夠高雅,但如果您知道元素總數的上限和下限,則可以採用暴力方法來選擇中間元素。
例如,以下規則將選擇一組5,7或9個元素中的中間元素。
div:nth-child(3):nth-last-child(3) {
/* The middle element in a set of 5 is the 3rd element */
}
div:nth-child(4):nth-last-child(4) {
/* The middle element in a set of 7 is the 4th element */
}
div:nth-child(5):nth-last-child(5) {
/* The middle element in a set of 9 is the 5th element */
}
或用無禮的話:
@for $i from 3 through 5 {
div:nth-child(#{$i}):nth-last-child(#{$i}) {
/* The middle element */
}
}
如果可以有偶數個元素,則可以包括'div:nth-child(-1 +#{$ i}):nth-last-child(#{$ i})'和/或' div:nth-child(#{$ i}):nth-last-child(-1 +#{$ i})'分別選擇剛好在中心左側或右側的元素。 – Blazemonger
- 1. 最後孩子僞類
- 2. 僞類上一個孩子
- 3. 幫助僞類,第一個孩子
- 4. :第一個孩子僞類不工作
- 5. 僞類:最後孩子的怪異
- 6. 在css僞類中可以做第n個孩子的第n個孩子嗎?
- 7. :第n個孩子()僞類是不在列表中工作
- 8. JavaFX子類僞類
- 9. querySelectorAll不僞類第n個最後的孩子一起
- 10. 覆蓋:使用jQuery的第一孩子僞類風格
- 11. 動態元素上的IE8第一個孩子僞類
- 12. 首先,孩子的僞類菜單不接受在WordPress
- 13. :第n個孩子()奇/偶僞類與定義列表
- 14. 無序列表的CSS第一孩子僞類(引導程序)
- 15. :最後一個孩子僞類選擇在CSS和Internet Explorer
- 16. 在中間追加孩子
- 17. 第一個孩子和最後一個孩子與CSS3僞財產
- 18. 設置僞二叉樹中每個孩子的兄弟
- 19. 在jQuery/JavaScript的IE8中僞造CSS:唯一的孩子
- 20. 僞類中的類
- 21. C#父類和子類 - 從父類中挑選孩子
- 22. 中間件孩子航線laravel 5.1
- 23. 從孩子X中選擇孩子元素到孩子X
- 24. 將孩子從孩子中移除
- 25. 在jQuery中選擇孩子的孩子
- 26. '孩子'是什麼類型?
- 27. css nth孩子和類
- 28. Magento的:讓孩子類別
- 29. 訪問父類從孩子
- 30. 第一個孩子的最後一個孩子和之間的
請問孩子的數量而改變? – jackweinbender
元素的數量在頁面加載時設置,並且可能會因用戶而異。 – Jason
如果你正在使用PHP或Ruby或其他工具,你當然可以編寫一個函數來向中間元素添加一個類。 – jackweinbender