
Стилизация заданного количества HTML-элементов

Стилизация заданного количества HTML-элементов
Средства CSS3 предоставляют широкие возможности для стилизации HTML-элементов. Например, при помощи псевдо-класса :nth-child() можно стилизовать определенный по счету элемент, четные и нечетные элементы, а также элементы, подходящие под формулу записи этого псевдо-класса (смотрите документацию). А вот не совсем стандартная задача: есть таблица, надо стилизовать только первые N ее строчек.
В качестве примера HTML-разметки возьмем самую обычную таблицу:
Code (HTML) : Убрать нумерацию
- <table class="colored">
- <tr><td>строка 1</td></tr>
- <tr><td>строка 2</td></tr>
- <tr><td>строка 3</td></tr>
- <tr><td>строка 4</td></tr>
- <tr><td>строка 5</td></tr>
- <tr><td>строка 6</td></tr>
- <tr><td>строка 7</td></tr>
- </table>
Code (HTML) : Убрать нумерацию
- .colored tr:nth-child(1), .colored tr:nth-child(2),
- .colored tr:nth-child(3), .colored tr:nth-child(4) {
- background: #A0A0A0;
- }
Немного теории. Разберем на примере, как работает псевдо-класс :nth-child() при выборе элементов. Кроме фиксированных числовых значений параметра и параметров odd и even, он принимает алгебраический параметр вида Xn+Y, где n - счетчик, а X и Y - целочисленные константы. Счетчик начинается с нулевого значения и увеличивается на единицу с каждой следующей итерацией. Затем вычисляется пример с этим значением счетчика и полученное значение принимается как фиксированный номер элемента. Если элемента с таким номером нет, то счетчик останавливается. Таким образом, применительно к тестовой таблице, селектор вида .colored tr:nth-child(2n+1) будет работать так:
- 2 * 0 + 1 = 1, это строка 1
- 2 * 1 + 1 = 3, это строка 3
- 2 * 2 + 1 = 5, это строка 5
- 2 * 3 + 1 = 7, это строка 7
- 2 * 4 + 1 = 9, такой строки в таблице нет, счетчик останавливается
- -1 * 0 + 4 = 4, это строка 4
- -1 * 1 + 4 = 3, это строка 3
- -1 * 2 + 4 = 2, это строка 2
- -1 * 3 + 4 = 1, это строка 1
- -1 * 4 + 4 = 0, такой строки в таблице нет, счетчик останавливается
Просмотров: 954 | Комментариев: 0

Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
Комментариeв нет

Добавить комментарий
Заполните форму для добавления комментария
