Ні. Не дуже. Є кілька селекторів, які можуть вас зблизити, але, ймовірно, не працюватимуть у вашому прикладі та не мають найкращої сумісності браузера.
:only-child
Це :only-child
один з небагатьох істинних селекторів підрахунку в тому сенсі, що він застосовується лише тоді, коли є одна дитина з батьківського елемента. Використовуючи свій ідеалізований приклад, він діє так, children(1)
напевно.
:nth-child
:nth-child
Селектор може реально отримати , де ви хочете піти в залежності від того, що ви дійсно хочете зробити. Якщо ви хочете стилізувати всі елементи, якщо є 8 дітей, вам не пощастило. Якщо ви хочете застосувати стилі до 8-го та пізніших елементів, спробуйте це:
p:nth-child( n + 8 ){
/* add styles to make it pretty */
}
На жаль, це, мабуть, не ті рішення, які ви шукаєте. Зрештою, вам, мабуть, знадобиться скористатись майстром Javascript, щоб застосувати стилі на основі підрахунку - навіть якщо ви використовували один із них, вам потрібно буде уважно ознайомитися із сумісністю браузера, перш ніж перейти до чистого CSS-рішення.
W3 CSS3 Spec на псевдокласах
РЕДАКЦІЯ Я читаю ваше запитання дещо інакше - є кілька інших способів стилю батьків , а не дітей. Дозвольте мені кинути декілька інших селекторів по-своєму:
:empty
і :not
Це елементи стилів, у яких немає дітей. Це не так корисно самостійно, але, поєднавшись із :not
селектором, ви можете стилізувати лише ті елементи, які мають діти:
div:not(:empty) {
/* We know it has stuff in it! */
}
Ви не можете порахувати, скільки дітей тут доступно з чистим CSS, але це ще один цікавий вибір, який дозволяє робити цікаві речі.