Чтение онлайн

на главную - закладки

Жанры

HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов

Дронов Владимир

Шрифт:

Псевдокласс: nth-child позволяет привязать стиль к элементам Web-страницы, выбрав их по порядковым номерам, под которыми эти элементы определены в своем родителе:

<основной селектор>:nth-child(<a>n+<b>) { <стиль> }

После имени данного псевдокласса в скобках указывают формулу, по которой вычисляются номера элементов, к которым будет применен стиль. Эта формула имеет

два параметра, задаваемых Web-дизайнером: a и b. Их значения должны представлять собой неотрицательные целые числа.

Рассмотрим, как выполняется привязка стиля, включающего псевдокласс: nth- child.

Сначала Web-обозреватель считывает CSS-код стиля и, руководствуясь его селектором, находит элементы Web-страницы, к которым, возможно, будет применен данный стиль. Также Web-обозреватель определяет родителя этих элементов.

После этого Web-обозреватель разбивает все найденные элементы на группы. Количество элементов в каждой группе задается параметром a приведенной формулы. После разбиения Web-обозреватель вычисляет количество получившихся групп.

Далее Web-обозреватель последовательно подставляет в формулу вместо n номера получившихся групп, начиная с нуля. В результате каждого прохода вычисления получается номер элемента, к которому применяется стиль.

Для примера создадим таблицу из пяти строк и применим к ней такой стиль:

TR: nth-child(2n+1) { text-align: center }

В стиле мы указали, что группа должна содержать два дочерних элемента. Тогда Web-обозреватель разобьет строки таблицы на две группы, по две строки в каждой.

— Web-обозреватель подставит в формулу n равное 0. После вычисления получится значение 1. Web-обозреватель применит данный стиль к первой строке таблицы.

— Web-обозреватель подставит в формулу n равное 1. После вычисления получится значение 3. Web-обозреватель применит данный стиль к третьей строке таблицы.

Web-обозреватель подставит в формулу n равное 2. После вычисления получится значение 5. Web-обозреватель применит данный стиль к пятой строке таблицы. Поскольку 2 — общее количество групп, то на этом вычисления закончатся.

В результате данный стиль будет применен к каждой нечетной строке нашей таблицы.

Если мы создадим такой стиль:

TR: nth-child(2n+0) { text-align: center }

то он будет применен ко второй и четвертой (четным) строкам нашей таблицы. Кстати, мы можем сделать запись чуть короче:

TR: nth-child(2n) { text-align: center }

Ранее мы рассматривали примеры с разбиением дочерних элементов на группы. Но мы можем отменить разбиение, указав нулевое количество элементов в группе. В этом случае Web-обозреватель найдет b– й дочерний элемент и применит стиль к нему.

Так, если мы создадим

такой стиль:

TR: nth-child(0n+2) { text-align: center }

то Web-обозреватель применит его ко второй строке таблицы. Мы можем записать данный стиль и так:

TR: nth-child(2) { text-align: center }

и Web-обозреватель правильно его обработает.

Вместо указания формулы в скобках мы можем поставить там предопределенные значения odd и even. Первое привязывает стиль к нечетным дочерним элементам, второе — к четным:

TR: nth-child(odd) { background-color: grey } TR: nth-child(even) { background-color: yellow }

Первый стиль будет применен к нечетным строкам таблицы, второй — к четным. Псевдокласс: nth-last-child аналогичен рассмотренному нами псевдоклассу

:nth-child за тем исключением, что отсчет дочерних элементов ведется не с начала, а с конца родительского элемента.

Пример:

TR: nth-last-child(1) { text-align: center }

Данный стиль будет применен к последней строке таблицы. Пример:

#cmain P: nth-last-child(2) { font-weight: bold }

А этот стиль будет применен к предпоследнему (второму с конца) абзацу в контейнере cmain.

НА ЗАМЕТКУ

Еще стандарт CSS описывает псевдоклассы: nth-of-type и: nth-last-of-type. Насколько удалось выяснить автору, они работают так же, как и псевдоклассы: nth- child и: nth-last-child. Хотя, возможно, в следующих реализациях они будут действовать по-другому.

Последний структурный псевдокласс, который мы изучим, — :empty. Он привязывает стиль к элементам, не имеющим дочерних элементов.

Пример:

P: empty { display: none }

Этот стиль будет привязан к пустым (не имеющим содержимого) абзацам.

Псевдоклассы :not и *

Особый псевдокласс: not позволяет привязать стиль к любому элементу Web- страницы, не удовлетворяющему заданным условиям. Таким условием может быть любой селектор:

<основной селектор>:not(<селектор выбора>) { <стиль> }

Стиль будет привязан к элементу Web-страницы, удовлетворяющему основному селектору и не удовлетворяющему селектору выбора.

Пример:

DIV: not(#cmain) { background-color: yellow }

Здесь мы указали в качестве основного селектора стиль переопределения тега <DIV>, а в качестве селектора выбора — именованный стиль cmain. В результате данный стиль будет применен ко всем блочным контейнерам, за исключением cmain.

А вот стиль, который будет применен ко всем строкам таблицы, за исключением первой:

Поделиться:
Популярные книги

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Кай из рода красных драконов

Бэд Кристиан
1. Красная кость
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Кай из рода красных драконов

Хозяйка Проклятой Пустоши. Книга 2

Белецкая Наталья
2. Хозяйка Проклятой Пустоши
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка Проклятой Пустоши. Книга 2

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Потусторонний. Книга 2

Погуляй Юрий Александрович
2. Господин Артемьев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Потусторонний. Книга 2

Чапаев и пустота

Пелевин Виктор Олегович
Проза:
современная проза
8.39
рейтинг книги
Чапаев и пустота

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

Лютая

Шёпот Светлана Богдановна
Любовные романы:
любовно-фантастические романы
6.40
рейтинг книги
Лютая

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4

Ученик

Губарев Алексей
1. Тай Фун
Фантастика:
фэнтези
5.00
рейтинг книги
Ученик

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5