У меня есть div
тег, содержащий несколько ul
тегов.
Я могу установить свойства CSS только для первого ul
тега:
div ul:first-child {
background-color: #900;
}
Однако мои следующие попытки установить свойства CSS для каждого ul
тега, кроме первого, не работают:
div ul:not:first-child {
background-color: #900;
}
div ul:not(:first-child) {
background-color: #900;
}
div ul:first-child:after {
background-color: #900;
}
Как я могу написать в CSS: «каждый элемент, кроме первого»?
источник
Это решение CSS2 («любое
ul
за другимul
») также работает и поддерживается многими браузерами.В отличие от
:not
и:nth-sibling
, соседний селектор поддерживает один из вариантов IE7 +.Если у вас JavaScript изменяет эти свойства после загрузки страницы, вам следует взглянуть на некоторые известные ошибки в реализациях IE7 и IE8 . Смотрите эту ссылку .
Для любой статической веб-страницы это должно работать идеально.
источник
ul ul div ul
(где эти элементы являются родственными элементами), будет выбран только второй ul, так как последний не имеетul
предыдущего себеПоскольку IE6-8
:not
не принимается , я бы предложил вам следующее:Таким образом, вы выбираете каждый
ul
в своем родительском элементе, кроме первого .Обратитесь к статье Криса Койера «Полезное: рецепты nth-child» для получения дополнительных
nth-child
примеров .источник
Поддерживает IE7
источник
not(:first-child)
кажется, больше не работает. По крайней мере, с более свежими версиями Chrome и Firefox.Вместо этого попробуйте это:
источник
ul:not(:first-child)
буквально означает «любойul
элемент, который не является первым дочерним элементом своего родителя», поэтому он не будет совпадать даже с 1-м,ul
если ему предшествует другой элемент (p
заголовок и т. д.). Напротив,ul:not(:first-of-type)
означает «любойul
элемент, кроме 1-гоul
в контейнере». Вы правы в том, что ОП, вероятно, нуждалось в последнем поведении, но ваше объяснение довольно обманчиво.Вы можете использовать любой селектор с
not
источник
Мне не повезло с некоторыми из вышеперечисленных,
Это был единственный, который действительно работал на меня
ul:not(:first-of-type) {}
Это сработало для меня, когда я пытался сделать так, чтобы первая кнопка, отображаемая на странице, не была изменена с помощью параметра margin-left.
это был вариант, который я попробовал первым, но это не сработало
ul:not(:first-child)
источник
Вы можете использовать свой селектор,
:not
как показано ниже, вы можете использовать любой селектор внутри:not()
Больше примеров
источник
Как я использовал
ul:not(:first-child)
это идеальное решение.Почему это идеально, потому что, используя
ul:not(:first-child)
, мы можем применить CSS к внутренним элементам. Какli, img, span, a
тэгиНо когда используются другие решения:
а также
а также
а также
Они ограничивают только CSS уровня ul. Предположим, что мы не можем применить CSS
li
как `div ul + ul li '.Для элементов внутреннего уровня первое Решение отлично работает.
и так далее ...
источник