Таблица зебра на CSS
Прошу прощения за столь долгую задержку в выпусках новых материалов, но был очень загружен работой, поэтому не было абсолютно времени на написание скриптов. Сегодня для Вас я подготовил простой, но достаточно полезный материал, который уверен многим пригодится в использовании на своем сайте. Ну что же, перейдем сразу к теме нашего урока под названием — таблица зебра на css и сразу же хочу отметить, что в будущем будет урок аналогичен этому, но с применением JavaScript.
Данный скрипт уникально просто подойдет для формирования таблиц в системе управления сайтом или в просмотре характеристик в товарах на интернет-магазине. Обладая совсем малым кодом, он изящно сможет вписаться в любой сайт, все что Вам останется это лишь изменить и поправить фон, цвета шрифта под свой контент.
Первая часть. HTML.
Пожалуй, самая простая часть нашего скрипта, это создание таблиц и с классом table. Но, для начала подключим файл
<link type="text/css" rel="stylesheet" href="css/demo.css">
Теперь создадим таблицу с шестью строками и тремя столбцами, и дадим ей класс table.
Одной из колонок дадим ссылку, для различия контента.
<table> <thead> <tr> <td>Первая колонка</td> <td>Вторая колонка</td> <td>Третья колонка</td> </tr> </thead> <tbody> <tr> <td># 1</td> <td>Первая</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> <tr> <td># 2</td> <td>Вторая</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> <tr> <td># 3</td> <td>Третья</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> <tr> <td># 4</td> <td>Четвертая</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> <tr> <td># 5</td> <td>Пятая</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> <tr> <td># 6</td> <td>Шестая</td> <td><a href="http://roothelp.ru/lessons/table_zebra_na_css" target="_blank">Ссылка</a></td> </tr> </tbody> </table>
Вторая часть. CSS.
Переходим к самому основному, это разработке псевдоклассов и элементов для таблицы, чтобы посмотреть эффект ее переходу по строкам. В нашем случае, мы используем элемент :nth-child и применяем его к строке, используя поочередность каждого элемента, начиная с первого, при этом используем значение 2n, которое позволяет делить на все четные элементы, к примеру: 2, 4, 6 и т.д..
.table { border-collapse:collapse; border-spacing:0; color:#808080; margin:0 auto; } .table a{ text-decoration:none; color:#808080; } .table a:hover{ text-decoration:none; color:#00AFF0; } .table thead > tr > td{ padding:10px 10px 10px 0; text-align:center; } .table > tbody > tr > td{ border-bottom:1px solid #eaedef; text-align:left; padding:10px; } .table > tbody > tr:nth-child(2n){ background: #FAFAFA; } .table > tbody > tr:hover{ background:#F4F8FB; }
Вот такой не хитрый скрипт на CSS, который позволит Ваш сайт сделать более изящным и интересным. В следующий раз, подготовлю тему урока на JavaScript, может кому то она больше придется по душе. На этом все, до будущих уроков друзья!
Роман Краутер
CSS таблица зебра
Привет, друзья. Я заметил, что на мой блог стали приходить люди по запросу: CSS таблица зебра, но до этого момента именно этого материала у меня не было. Бала немного другая статья, на тему создания красивой таблицы CSS и сейчас будем исправлять ситуацию, чтобы предоставить пользователю именно ту информацию, которую он ищет. Я еще в 2011 году задался вопросом, как вставить таблицу на страницу WordPress блога и нашел для этого дела специальный плагин. Но спустя какое-то время стал избавляться от плагинов и оказалось, что таблицы можно делать при помощи CSS.
Вот реальный пример CSS таблицы зебры:
№1 | Продукт 1 | $5 |
№2 | Продукт 2 | $5 |
№3 | Продукт 3 | $5 |
№4 | Продукт 4 | $5 |
№5 | Продукт 5 | $5 |
№6 | Продукт 6 | $5 |
№7 | Продукт 7 | $8 |
№8 | Продукт 8 | $8 |
№9 | Продукт 9 | $8 |
№10 | Продукт 10 | $5 |
№11 | Продукт 11 | $12 |
№12 | Продукт 12 | $10 |
№13 | Продукт 13 | $12 |
№14 | Продукт 14 | $12 |
№15 | Продукт 15 | $12 |
Из-за того, что строки таблицы имеют разный цвет, ее называют зеброй. Цвет, кстати, можно сделать любой. Когда я делал эту таблицу, то применил к ней еще псевдокласс hover для того, чтобы при наведении на определенный пункт, он подсвечивался. мне кажется, что так смотрится гораздо лучше. И CSS кода для такой таблицы нужен самый минимум. Вот он:
1 2 3 4 5 | .wp-table{width: 450px; margin: 0 auto; border-collapse: collapse; font-size:13px; font-family:arial; color:#333;} .wp-table td{border: 1px solid #666;} .wp-table tr:nth-child(odd){background:#E6EEEE;} .wp-table tr:hover{background:#999; color:#fff; text-shadow:1px 1px 1px #333;} |
.wp-table{width: 450px; margin: 0 auto; border-collapse: collapse; font-size:13px; font-family:arial; color:#333;} .wp-table td{border: 1px solid #666;} .wp-table tr:nth-child(odd){background:#E6EEEE;} .wp-table tr:hover{background:#999; color:#fff; text-shadow:1px 1px 1px #333;}
Таблица на странице выглядит так:
1 2 3 4 5 6 7 8 9 10 11 12 | <table> <tr> <td>№1</td> <td>Продукт 1</td> <td>$5</td> </tr> <tr> <td>№2</td> <td>Продукт 2</td> <td>$5</td> </tr> </table> |
<table> <tr> <td>№1</td> <td>Продукт 1</td> <td>$5</td> </tr> <tr> <td>№2</td> <td>Продукт 2</td> <td>$5</td> </tr> </table>
таким образом, эту css таблицу зебру можно вставлять на любой сайт, не только на WordPress. Я подготовил для вас пример, который вы можете скачать прямо сейчас и уже спокойно разобраться, что к чему. Можно изменить ширину таблицы, сейчас она 450 пикс. Так же можно изменить цвета строк по своему усмотрению.
СКАЧАТЬ
Создаем «таблицу-зебру» | Vavik96
Таблица-зебра – это такая таблица, в которой после каждой строчки изменяется цвет фона строки. То есть, к примеру, белый-черный-белый-черный… Это то и сделаем, используя лишь CSS.
Для создания “зебры” в таблице, можно воспользоваться JS. Но, такой метод будет довольно хлопотный. Можно создать “зебру” вручную, то есть ручками добавлять классы к тегу <tr>
. Такой способ подойдет для небольших таблиц. А что, если строчек в таблице много? То тогда без автоматизирования будет долго. А что бы не пользоваться JS, можно использовать псевдокласс :nth-child
.
Данный псевдокласс было создан для добавления свойств тегу, идущему под определенным номером. Можно задать, что бы свойства задавались лишь четным или нечетным тегам. В основном данный псевдокласс можно применить именно то что в таблицах. Правила написания:nth-child:
селектор:nth-child(значение) { ... }
Значениями могут быть:
odd – нечетные числа (1, 3, 5, 7 …).
even – четные числа (2, 4, 5, 6 …).
число – любое число от одного.
Но у данного метода есть минус: он не поддерживается в старых браузерах.
N | Страна | Население (тыс. человек) |
---|---|---|
1 | Китай | 1 338 613,0 |
2 | Индия | 1 166 079,2 |
3 | США | 307 212.1 |
4 | Индонезия | 240 271.5 |
5 | Бразилия | 198 739.3 |
И, что бы создать стиль “зебры” в таблице, нужно сделать следующие:
HTML
<table cellspacing="0"> <tr><th>N</th><th>Страна</th><th>Население (тыс. человек)</th></tr> <tr><td>1</td><td>Китай</td><td>1 338 613,0</td></tr> <tr><td>2</td><td>Индия</td><td>1 166 079,2</td></tr> <tr><td>3</td><td>США</td><td>307 212.1</td></tr> <tr><td>4</td><td>Индонезия</td><td>240 271.5</td></tr> <tr><td>5</td><td>Бразилия</td><td>198 739.3</td></tr> </table>
Атрибут cellspacing определяет, сколько нужно отступить между ячейками. 0 – отменяет отступы.
CSS
table tr:nth-child(odd) { background-color:#EDEDED; /* Цвет фона */ }
Этим мы задали, что если тег <tr> будет по счету нечетный, то ему будет задан цвет фона #EDEDED. Так же можно поступить и с четными.
Оформим нашу таблицу дальше:
table, tr, td, th { color:#969799; /* Цвет текста */ font:13pt Andale Mono, monospace; /* Размер, тип шрфита */ border:1px solid #E9E9E9; /* Обводка */ border-collapse:collapse; /* Убираем двойную обводку между ячейками */ } td, th { padding:5px; /* Внутренний отступ */ } th { font-weight:bold; background-color:#E5E5E5; /* Цвет фона */ }
Источник
CSS таблица зебра ~ Страницы Интернета
Привет, друзья. Я заметил, что на мой блог стали приходить люди по запросу: CSS таблица зебра, но до этого момента именно этого материала у меня не было. Бала немного другая статья, на темусоздания красивой таблицы CSS и сейчас будем исправлять ситуацию, чтобы предоставить пользователю именно ту информацию, которую он ищет. Я еще в 2011 году задался вопросом, как вставить таблицу на страницу WordPress блога и нашел для этого дела специальный плагин. Но спустя какое-то время стал избавляться от плагинов и оказалось, что таблицы можно делать при помощи CSS. Вот реальный пример CSS таблицы зебры:
№1 | Продукт 1 | $5 |
№2 | Продукт 2 | $5 |
№3 | Продукт 3 | $5 |
№4 | Продукт 4 | $5 |
№5 | Продукт 5 | $5 |
№6 | Продукт 6 | $5 |
№7 | Продукт 7 | $8 |
№8 | Продукт 8 | $8 |
№9 | Продукт 9 | $8 |
№10 | Продукт 10 | $5 |
№11 | Продукт 11 | $12 |
№12 | Продукт 12 | $10 |
№13 | Продукт 13 | $12 |
№14 | Продукт 14 | $12 |
№15 | Продукт 15 | $12 |
1 2 3 4 5 | .wp-table{width: 450px; margin: 0 auto; border-collapse: collapse; font-size:13px; font-family:arial; color:#333;} .wp-table td{border: 1px solid #666;} .wp-table tr:nth-child(odd){background:#E6EEEE;} .wp-table tr:hover{background:#999; color:#fff; text-shadow:1px 1px 1px #333;} |
Таблица на странице выглядит так:
1 2 3 4 5 6 7 8 9 10 11 12 | <table> <tr> <td>№1</td> <td>Продукт 1</td> <td>$5</td> </tr> <tr> <td>№2</td> <td>Продукт 2</td> <td>$5</td> </tr> </table> |
таким образом, эту css таблицу зебру можно вставлять на любой сайт, не только на WordPress. Я подготовил для вас пример, который вы можете скачать прямо сейчас и уже спокойно разобраться, что к чему. Можно изменить ширину таблицы, сейчас она 450 пикс. Так же можно изменить цвета строк по своему усмотрению.
Универсальный полосатик
У Вас в браузере заблокирован JavaScript. Разрешите JavaScript для работы сайта!
Пример универсального стиля Zебра. Для всех дочерних элементов первого уровня делает фон полосатый, т.е. для первого – белый, для второго – серый, для третьего – белый, для четвертого – серый и т.д.
Пример с DIV-ами
1. Это первый div
Это первый вложенный абзац
Это первый вложенный div
Это второй вложенный div
2. Это второй div
3. Это третий div
4. Это четвертый div
5. Это пятый абзац
6. Это шестой абзац
Пример с таблицей
Это перавя строка таблицы |
Это вторая строка таблицы |
Это третья строка таблицы |
Это четвертая строка таблицы |
Исходный код этого примера:
<style type="text/css">
.polosatik > *:nth-child(even),
.polosatik tr:nth-child(even)
{background: #ccc;}
</style>
<p>Пример универсального стиля Zебра. Для всех дочерних элементов первого уровня делает фон полосатый,
т.е. для первого – белый, для второго – серый, для третьего – белый, для четвертого – серый и т.д.</p>
<h5>Пример с DIV-ами</h5>
<div>
<div>
<p>1. Это первый div</p>
<p>Это первый вложенный абзац</p>
<div>
<p>Это первый вложенный div</p>
</div>
<div>
<p>Это второй вложенный div</p>
</div>
</div>
<div>
<p>2. Это второй div</p>
</div>
<div>
<p>3. Это третий div</p>
</div>
<div>
<p>4. Это четвертый div</p>
</div>
<p>5. Это пятый абзац</p>
<p>6. Это шестой абзац</p>
</div>
<h5>Пример с таблицей</h5>
<table>
<tr><td>Это перавя строка таблицы</td></tr>
<tr><td>Это вторая строка таблицы</td></tr>
<tr><td>Это третья строка таблицы</td></tr>
<tr><td>Это четвертая строка таблицы</td></tr>
</table>
Зебра полосатая таблица со скрытыми строками с помощью CSS3?
Here’s as close as you’re going to get. Note that you can’t make the nth-child
count only displayed rows; nth-child
will take the nth child element no matter what, not the nth child that matches a given selector. If you want some rows to be missing and not affect the zebra-striping, you will have to remove them from the table entirely, either through the DOM or on the server side.
<!DOCTYPE html>
<style>
#mytable tr:nth-child(odd) {
background-color: #000;
}
#mytable tr:nth-child(even) {
background-color: #FFF;
}
</style>
<table>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
</table>
Here are the fixes that I made:
table #mytable tr[@display=block]:nth-child(odd) {
background-color: #000;
}
There’s no need to specify an ancestor selector for an id
based selector; there is only ever one element that will match #table
, so you’re just adding extra code by adding the table
in.
#mytable tr[@display=block]:nth-child(odd) {
background-color: #000;
}
Now, [@display=block]
would match elements which had an attribute display
set to block, such as <tr display=block>
. Display isn’t a valid HTML attribute; what you seem to be trying to do is to have the selector match on the style of the element, but you can’t do that in CSS, since the browser needs to apply the styles from the CSS before it can figure that out, which it’s in the process of doing when it’s applying this selector. So, you won’t be able to select on whether table rows are displayed. Since nth-child
can only take the nth child no matter what, not nth with some attribute, we’re going to have to give up on this part of the CSS. There is also nth-of-type
, which selects the nth child of the same element type, but that’s all you can do.
#mytable tr:nth-child(odd) {
background-color: #000;
}
And there you have it.