Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
tolerant
7 лет назад

Записки HTML-верстальщика: используем :nth-child() по максимуму

Всем лёгкого рабочего понедельника! 

В продолжение своих статей о селекторax CSS, псевдоклассах и псевдоэлементах, я хотел бы остановиться на одном из наиболее используемых в повседневной верстке псевдоклассе поподробнее.

Речь пойдет о псевдоклассе :nth-child() и о том, какие интересные штуки можно с ним проделать, зная его особенности и синтаксис.

Для начала, допустим, что у нас есть самый простой список <ul></ul>, состоящий из десяти элементов внутри, и нам нужно определить стили, к примеру, только для пятого элемента внутри этого списка. Для этого мы используем самую простую запись свойства li:nth-child(5):

Как Вы видите на примере выше: из 10 элементов списка только нужный нам 5-й элемент разукрасился в синий цвет.


Также, не составит труда разукрасить, к примеру, каждый третий элемент в синий цвет при помощи селектора li:nth-child(3n), где вместо n будут подставляться значения от 0 и до бесконечности (равнозначно li:nth-child(3), li:nth-child(6), li:nth-child(9) и до бесконечности):



Немного усложняем: для того, чтобы у нас разукрасились только четные элементы списка, мы можем использовать селектор li:nth-child(2n), либо альтернативу ему li:nth-child(even):



Еще чуток усложняем: для выделения только нечетных элементов списка, мы можем использовать селектор li:nth-child(2n-1), либо альтернативу ему li:nth-child(odd):


Добавив минус перед n, мы сможем выделить определенное количество элементов в начале нашего списка. Например, выделить первые 6 элементов можно при помощи li:nth-child(-n+6):


Комбинирование нескольких nth-child:

Ну, и самое интересное. Скомбинировав несколько nth-child, идущих друг за другом, мы можем добиться очень интересных результатов.

Например, выделить промежуток внутри списка. К примеру, элементы с 3 по 6 при помощи комбинации li:nth-child(n+3):nth-child(-n+6):

В этом примере у нас сначала срабатывает свойство nth-child(n+3) которое выбирает все элементы старше 3-го, а затем выбираются все элементы младше 6-го при помощи :nth-child(-n+6) те элементы, которые удовлетворяют обоим условиям (в нашем случае, с 3 по 6) и стилизуются.


Ну и совсем наркоманский вариант тоже имеет право существовать: 

Только нечетные элементы в промежутке от 3 до 7


Вы можете комбинировать эти псевдоклассы как Вам угодно и достичь любой комбинации.


 

На этом всё, Спасибо за внимание :)   

Буду рад ответить всем на Ваши вопросы, буду рад видеть всех и каждого у себя в подписчиках, буду признателен за Ваши лайки и отзывы.


15
1.537 GOLOS
На Golos с November 2016
Комментарии (0)
Сортировать по:
Сначала старые