Как выбрать всех детей, кроме первого и последнего с помощью селекторов CSS
Как выбрать всех детей в таблице, кроме первого и последнего? Я пробовал это, но в итоге выбирая всех детей, которые не являются первыми, и все дети, которые не являются последними, в итоге все дети:
table.programs tr td:not(:first-child), table.programs tr td:not(:last-child) {
}
Я хочу, чтобы все дети не были ни первыми, ни последними. Как я могу это сделать?
Ответы
Ответ 1
Используйте два селектора :not()
, объединив их, ссылаясь на элементы, которые соответствуют обоим из них, т.е. на элементы, которые не соответствуют ни одному из селекторов, используемых в качестве операндов :not()
:
table.programs td:not(:first-child):not(:last-child)
Ответ 2
Решение jQuery прекрасное, но если вы хотите сделать это в чистом CSS, я предлагаю вам применить правила ко всей таблице, а затем reset для первого и последнего детей. то есть:
table.programs tr td {
/* your rules here */
}
table.programs tr:first-child td:first-child,
table.programs tr:last-child td:last-child {
/* reset your rules here */
}
jsFiddle demo
Ответ 3
Я думаю, это должно сработать для вас:
table.programs tr td:not(:first-child,:last-child)
Ответ 4
Это работает таким образом
table.programs tr td:nth-child(1n+2):not(:last-child)