Tidak. Yah, tidak juga. Ada beberapa penyeleksi yang bisa membuat Anda agak dekat, tetapi mungkin tidak akan berfungsi dalam contoh Anda dan tidak memiliki kompatibilitas browser terbaik.
:only-child
Ini :only-child
adalah salah satu dari sedikit penyeleksi penghitungan sejati dalam arti bahwa itu hanya diterapkan ketika ada satu anak dari elemen induk. Menggunakan contoh ideal Anda, itu bertindak sepertichildren(1)
mungkin.
:nth-child
Itu :nth-child
pemilih mungkin benar-benar mendapatkan Anda di mana Anda ingin pergi tergantung pada apa yang Anda benar-benar ingin lakukan. Jika Anda ingin menata semua elemen jika ada 8 anak, Anda kurang beruntung. Namun, jika Anda ingin menerapkan gaya ke elemen ke-8 dan yang lebih baru, coba ini:
p:nth-child( n + 8 ){
/* add styles to make it pretty */
}
Sayangnya, ini mungkin bukan solusi yang Anda cari. Pada akhirnya, Anda mungkin perlu menggunakan beberapa Javascript wizardry untuk menerapkan gaya berdasarkan hitungan - bahkan jika Anda akan menggunakan salah satu dari ini, Anda harus melihat keras kompatibilitas browser sebelum menggunakan murni Solusi CSS.
W3 CSS3 Spec pada pseudo-class
EDIT Saya membaca pertanyaan Anda sedikit berbeda - ada beberapa cara lain untuk gaya orang tua , bukan anak-anak. Biarkan saya melempar beberapa penyeleksi lain ke jalan Anda:
:empty
dan :not
Elemen gaya ini yang tidak memiliki anak. Tidak terlalu berguna sendiri, tetapi ketika dipasangkan dengan :not
pemilih, Anda hanya dapat menata elemen yang memiliki anak:
div:not(:empty) {
/* We know it has stuff in it! */
}
Anda tidak dapat menghitung berapa banyak anak yang tersedia dengan CSS murni di sini, tetapi itu adalah pemilih lain yang menarik yang memungkinkan Anda melakukan hal-hal keren.