Таблицы в css: Стилизация таблиц — Изучение веб-разработки

Содержание

Учебник CSS — Таблицы


❮ Назад Далее ❯


Внешний вид таблицы HTML может быть значительно улучшена с помощью CSS:

КомпанияКонтактыСтрана
Alfreds FutterkisteМария АндерсГермания
Berglunds snabbköpКристина БерглундШвеция
Centro comercial MoctezumaФрансиско ЧангМексика
Ernst HandelРоланд МендельАвстрия
Island TradingХелен БеннеттВеликобритания
Königlich EssenФилипп КрамерГермания
Laughing Bacchus WinecellarsЙоши ТаннфмуриКанада
Magazzini Alimentari RiunitiИоанн РовеллиИталия

Границы таблицы

Чтобы задать границы таблицы в CSS, используйте свойство border.

Пример ниже определяет черными границами для элемнтов

<table>, <th>, и <td>:

Пример

table, th, td {
   border: 1px solid black;
}

Попробуйте сами »

Обратите внимание, что таблица в примере выше имеет двойную границу. Это потому, что обе таблицы и элименты <th>, и <td> имеют отдельные границы.


Свернуть границы таблицы

Свойство border-collapse задает, будут ли границы таблиц свернуты в одну границу:

Пример

table {
   border-collapse: collapse;
}

table, th, td {
   border: 1px solid black;
}

Попробуйте сами »

Если вы хотите установить границы только вокруг таблицы, укажите свойство border для <table>:

Пример

table {
    border: 1px solid black;
}

Попробуйте сами »


Ширина и высота таблицы

Ширина и высота таблицы определяются свойством width и height.

В примере ниже задается ширина таблицы 100 пикселей, а высота 50 пикселей:

Пример

table {
   width: 100%;
}

th {
   height: 50px;
}

Попробуйте сами »


Горизонтальное выравнивание таблицы

Свойство text-align задает горизонтальное выравнивание (слева, справа, или по центру) контента в тегах <th> или <td>.

По умолчанию содержание элемента <th> выравниваниет по центру и содержание элемента <td> выравниваниет по левому краю.

В следующем примере выравнивает текст слева в элементе <th>:

Пример

th {
   text-align: left;

}

Попробуйте сами »


Вертикальное выравнивание таблицы

Свойство vertical-align задает вертикальное выравнивание в (верхней, нижней или по центру) контент в <th> или <td>.

По умолчанию вертикальное выравнивание содержимого в таблице, будет по центру (для обоих элементов <th> и <td>).

Следующий пример задает вертикальное выравнивание текста в нижней части для элемента <td>):

Пример

td {
   height: 50px;
   vertical-align: bottom;
}

Попробуйте сами »


Отступы в таблице

Чтобы контролировать пространство между границей и содержимым в таблице, используйте свойство padding в элементе <th> и <td>:

Пример

th, td {
   padding: 15px;
   text-align: left;

}

Попробуйте сами »


Горизонтальные разделители таблицы

ИмяФамилияСбережение
АндрейЩипунов$100
СергейЩипунов$150
ЛеонидЩипунов$300

Добавить свойство border-bottom в <th> и <td> для горизонтальных разделителей:

Пример

th, td {
   border-bottom: 1px solid #ddd;
}

Попробуйте сами »


Таблица при наведении

Использовать селектор :hover в <tr> для выделения строк таблицы при наведении:

ИмяФамилияСбережение
АндрейЩипунов$100
СергейЩипунов$150
ЛеонидЩипунов$300

Пример

tr:hover {background-color: #f5f5f5}

Попробуйте сами »


Полосатая таблица

ИмяФамилияСбережение
АндрейЩипунов$100
СергейЩипунов$150
ЛеонидЩипунов$300

Для полосатой таблицы, использовать селектор nth-child() и добавить background-color на всех четных (или нечетных) строк таблицы:

Пример

tr:nth-child(even) {background-color: #f2f2f2}

Попробуйте сами »


Цвет заголовка таблицы

Пример ниже указывает цвет фона и цвет текста элемента <th>:

ИмяФамилияСбережение
АндрейЩипунов$100
СергейЩипунов$150
ЛеонидЩипунов$300

Пример

th {
   background-color: #4CAF50;
   color: white;
}

Попробуйте сами »


Отзывчивая таблица

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

Добавьте контейнер элемент <div> в overflow-x:auto внутри элемента <table>, чтобы сделать его отзывчивым:

Пример

<div>

<table>
. .. содержание таблицы …
</table>

</div>

Попробуйте сами »


Еще примеры

Установить шикарную таблицу
Пример демонстрирует, как создать шикарную таблицу.

Установить заголовок таблицы
Пример демонстрирует, как расположить заголовок таблицы.


Проверьте себя с помощью упражнений!

Упражнение 1 »  Упражнение 2 »  Упражнение 3 »  Упражнение 4 »  Упражнение 5 »  Упражнение 6 »


Свойства CSS таблицы

СвойствоОписание
borderУстанавливает все свойства границы в одном объявлении
border-collapseУстанавливает границы таблицы должны ли быть свернуты
border-spacingУстанавливает расстояние между границами соседних ячеек
caption-sideУстанавливает размещение таблицы заголовка
empty-cellsУстанавливает следует ли отображать границы и фон пустых ячеек в таблице
table-layoutУстанавливает алгоритм макета компоновки для использования в таблице

❮ Назад Далее ❯

Разделы должны содержать одинаковое количество столбцов Таблицы в CSS

Блочная модель

Для любого элемента XHTML в CSS создается обрамляющий его прямоугольник

Блочная модель

Содержимое – пространство для контента (текст, изображения)

Padding – пространство вокруг контента.

Окрашивается в цвет фона элемента

Border – граница, окружающая padding и контент. Цвет границы можно изменить

Margin – пространство вокруг границы элемента, не имеет фонового цвета и прозрачно

Каждая из областей состоит из 4-х частей: левой:правой:верхней:нижней Размеры соответствующих границ:

margin-top

margin-right

margin-bottom

margin-left

margin-– сокращенная форма

Размеры соответствующего отступа:

padding-top

padding-right

padding-bottom

padding-left

padding – сокращенная форма

Если тип измерения не определен, то предполагаются пиксели

Размеры соответствующих частей рамки:

border-top-width

border-right-width

border-bottom-width

border-left-width

border-width – сокращенная форма

Значения:

thin – тонкая

medium – средняя

thick – толстая

Цвет соответствующих частей рамки:

border-top-color

border-right-color

border-bottom-color

border-left-color

border-color – сокращенная форма

Значения – название или 16-ричный код

Стиль границы

border-top-style

border-right-style

border-bottom-style

border-left-style

border-style – сокращенная форма

Значения style

 

 

 

 

 

 

 

none

граница отсутствует

 

 

 

hidden

граница отсутствует

 

 

 

dotted

пунктирная линия

 

 

 

dashed

штрих-пунктирная линия

 

 

 

 

 

 

 

 

 

 

solid

сплошная линия

 

 

 

 

 

 

 

 

 

 

double

две непрерывные линии

 

 

 

 

 

 

 

 

groove

вдавленная линия

 

 

 

 

 

 

 

 

ridge

выпуклая линия.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

inset

вдавленный блок

 

 

 

 

outset

выпуклый блок

 

 

 

 

 

 

 

 

 

 

 

Таблицы

Структура и содержание таблицы описываются с помощью элементов XHTML

Оформление задается с помощью правил CSS

Теги создание таблиц:

table — создаёт таблицу

caption — задаёт заголовок для таблицы

tr — задаёт строку таблицы

th — задаёт ячейку таблицы, заголовок столбца

td — задаёт простую ячейку таблицы с данными

Группы рядов:

Ряды могут быть сгруппированы в

надзаголовок thead

подзаголовок tfoot

данные tbody

<table>

<thead>…</thead>

<tfoot>…</tfoot>

<tbody>…</tbody>

</table>

Каждая группа рядов должна содержать минимум один ряд, определённый tr

Ширина таблицы и ячеек

Свойство

width

Значение

единицы длины, принятые в css

%

ширина элемента вычисляется в зависимости от ширины родительского

элемента, либо окна ПА

По умолчанию

table {width: auto;}

таблица занимает всю ширину окна table {width: 100%;}

th, td {width: 33%;}

Выравнивание в таблице

Свойства:

text-align

vertical-align

th, td {

}

width: 33%; text-align: left; vertical-align: top;

Отображение границ

Свойство border

Применяется к элементам td или th

определяет

толщину

цвет

стиль границы

table {

border: 1px solid #000;} th, td {

border-left: 1px dashed #000;}

border-collapse

Определяет отображение табличных границ на экране

Значение:

collapse — смежные границы табличных ячеек превращаются в одну общую

границу (по умолчанию).

separate — смежные границы ячеек таблицы остаются отдельными.

inherit — принимается значение родительского элемента. table {

border: 1px solid #000; border-collapse: separate;}

Соединение границ с различными стилями приводит к конфликтам, которые разрешаются согласно правилам разрешения конфликтов границ таблиц спецификации

CSS2

http://www.w3.org/TR/REC-CSS2/tables.html#border-conflict-resolution

Данные правила определяют приоритеты стилей при соединении границ

Расстояние между ячейками border-spacing

Определяет интервалы между табличными границами

Значение:

Первая длина — расстояние по горизонтали между границами табличных ячеек Вторая длина — расстояние по вертикали между границами табличных ячеек Одно значение — применяется к двум направлениям

inherit — принимается значение родительского элемента

Не действует, если для таблицы установлен параметр border-collapse со значением collapse

table {

border-collapse: separate; border-spacing: 150px 20px;}

Заполнение

padding — добавляет свободное пространство между границами ячеек и их содержимым

th, td {

border: 1px solid #000; border-collapse: collapse;

} padding: 0. 3em;

Стили для таблиц — Как создать сайт

Здравствуйте! От стилизации списков плавно переходим к заданиям стилей для таблиц. В этом уроке мы рассмотрим стили для таблиц.

  • border-collapse: устанавливает, как будет стилизоваться граница смежных ячеек
  • border-spacing: устанавливает промежутки между границами смежных ячеек
  • caption-side: устанавливает положение элемента caption
  • empty-cells: задает режим отрисовки для пустых ячеек
  • table-layout: определяет размеры таблицы

Установка таблицы

Ранее для установки границы в таблице широко использовался атрибут border, например:

<table border="2px" >

Сейчас же тенденция для стилизации использовать только стили CSS, поэтому граница также задается через CSS с помощью стандартного свойства border:

 table {
    border: 1px solid #ccc;  /* граница всей таблицы */
}
tr {
    border: 1px solid #ccc;  /* границы между строками */
}
td, th {
    border: 1px solid #ccc;  /* границы между столбцами */
}

При установке границ между столбцами с помощью свойства border-collapse можно установить общую или раздельную границу между смежными ячейками:

  • collapse: смежные ячейки имеют общую границу
  • separate: смежные ячейки имеют отдельные границы, которые разделяются пространством

Если смежные ячейки имеют раздельные границы, то с помощью свойства border-spacing можно установить пространство между границами:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Стилизаци таблиц в CSS3</title>
        <style>
        table {
            border: 1px solid #ccc;
            border-spacing: 3px;
        }
         
        td, th{
            border: solid 1px #ccc;
        }
        . collapsed{
            border-collapse: collapse;
        }
        .separated{
            border-collapse: separate;
        }
        </style>
    </head>
    <body>
        <h4>Collapse</h4>
        <table>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>Lumia 950</td><td>Microsoft</td><td>29900</td></tr>
            <tr><td>iPhone 6S</td><td>Apple</td><td>52900</td></tr>
            <tr><td>Nexus 6P</td><td>Huawei</td><td>49000</td></tr>
        </table>
        <h4>Separate</h4>
        <table>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>G 5</td><td>LG</td><td>44900</td></tr>
            <tr><td>HTC 10</td><td>HTC</td><td>49900</td></tr>
            <tr><td>Nexus 5X</td><td>Google/LG</td><td>25000</td></tr>
        </table>
    </body>
</html>

Просмотреть  пример

Пустые ячейки

Свойство empty-cells позволяет стилизовать пустые ячейки с помощью одного из следующих значений:

  • show: пустые ячейки отображаются, значение по умолчанию
  • hide: пустые ячейки не отображаются
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Стилизаци таблиц в CSS3</title>
        <style>
        table {
            border: 1px solid #ccc;
            border-spacing: 3px;
        }
         
        td, th{
            border: solid 1px #ccc;
        }
        . hidden-empty-cells{
            empty-cells: hide;
        }
        </style>
    </head>
    <body>
        <h4>Show</h4>
        <table>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>Lumia 950</td><td>Microsoft</td><td>29900</td></tr>
            <tr><td>iPhone 6S</td><td></td><td></td></tr>
            <tr><td>Nexus 6P</td><td>Huawei</td><td>49000</td></tr>
        </table>
        <h4>Hide</h4>
        <table>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>G 5</td><td>LG</td><td>44900</td></tr>
            <tr><td>HTC 10</td><td></td><td></td></tr>
            <tr><td>Nexus 5X</td><td>Google/LG</td><td>25000</td></tr>
        </table>
    </body>
</html>

Просмотреть  пример

Позиционирование заголовка

Свойство caption-side управляет позицией заголовка и может принимать следующие значения:

  • top: позиционирование заголовка вверху (значение по умолчанию)
  • bottom: позиционирование заголовка внизу
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Стилизаци таблиц в CSS3</title>
        <style>
        table {
            border: 1px solid #ccc;
            border-spacing: 3px;
        }
         
        caption {
         
            font-weight: bold;
        }
         
        td, th{
            border: solid 1px #ccc;
        }
        . captionBottom{
            caption-side: bottom;
        }
        </style>
    </head>
    <body>
        <h4>Top</h4>
        <table>
            <caption>Флагманы 2015 года</caption>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>Lumia 950</td><td>Microsoft</td><td>29900</td></tr>
            <tr><td>iPhone 6S</td><td>Apple</td><td>52900</td></tr>
            <tr><td>Nexus 6P</td><td>Huawei</td><td>49000</td></tr>
        </table>
        <h4>Bottom</h4>
        <table>
            <caption>Новинки 2016 года</caption>
            <tr><th>Модель</th><th>Производитель</th><th>Цена</th></tr>
            <tr><td>G 5</td><td>LG</td><td>44900</td></tr>
            <tr><td>HTC 10</td><td>HTC</td><td>49900</td></tr>
            <tr><td>iPhone SE</td><td>Apple</td><td>37000</td></tr>
        </table>
    </body>
</html>

Просмотреть  пример

Управление размером таблицы

С помощью свойства table-layout можно управлять размером таблицы. По умолчанию это свойство имеет значение auto, при котором браузер устанавливает ширину столбцов таблицы автоматически, исходя из ширины самой шиокой ячейки в столбце. А из ширины отдельных столбцов складывается ширина всей таблицы.

Однако с помощью другого значения — fixed можно установить фиксированную ширину:

table {
    border: 1px solid #ccc;
    border-spacing: 3px;
    table-layout: fixed;
    width:350px;
}

Вертикальное выравнивание ячеек

Как правило, содержимое ячеек таблицы выравнивается по центру ячейки. Но с помощью свойства vertical-align это поведение можно переопределить. Это свойство принимает следующие значения:

  • top: выравнивание содержимого по верху ячейки
  • baseline: вырвнивание перой строки текста по верху ячейки
  • middle: выравнивание по центру (значение по умолчанию)
  • bottom: выравнивание по низу

Свойство vertical-align применяется только к элементам <th> и <td>:

td, th{
    border: solid 1px #ccc;
    vertical-align: bottom;
    height: 30px;
}

CSS-стили для таблиц

❮ Пред. Следующий ❯

Некоторые свойства CSS широко используются для применения стиля к таблицам HTML. Каждый из них описан ниже.

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

Вот свойства CSS, которые мы используем для применения стиля к таблице. Свойства background-color и color задают цвет фона и цвет текста соответственно. Свойство border-collapse сворачивает границы таблицы. Свойство text-align устанавливает положение текста. Кроме того, мы должны использовать свойства высоты, ширины и заполнения для стиля.

Пример оформления таблицы:

 

  <голова>
    Название документа
    <стиль>
      стол {
        ширина: 100%;
        граница коллапса: коллапс;
      }
      стол,
      й,
      тд {
        граница: 1px сплошной черный;
      }
      объявление {
        цвет фона: #1c87c9;
        цвет: #ffffff;
      }
      й {
        выравнивание текста: по центру;
        высота: 50 пикселей;
      }
      tbody tr:nth-child(нечетный) {
        фон: #ffffff;
      }
      tbody tr:nth-child(even) {
        фон: #f4f4f4;
      }
    
  
  <тело>
    <таблица>
      
        
          Заголовок
          Заголовок
        
      
      <тело>
        
          Некоторый текст
          Некоторый текст
        
        
          Некоторый текст
          Некоторый текст
        
        
          Некоторый текст
          Некоторый текст
        
        
          Некоторый текст
          Некоторый текст
        
      
    
  
 

Попробуй сам »

Результат

Поясним приведенный выше код.

Как вы видите, наша таблица состоит из 2 частей: первая — это часть, в которой мы написали заголовки, это наша часть, а вторая часть — это часть, где мы написали некоторый текст. Таблица имеет черные границы, для которых мы используем свойство границы. Мы можем использовать любой цвет, который мы хотим, а также мы можем выбрать стиль границ.

Как вы видите, часть нашей таблицы выделена синим цветом, а везде, где мы пишем текст, он белый. Для синего фона мы используем свойство background-color, а для белого текста — свойство color. Остальные тексты написаны черным цветом.

Свойство border-collapse указывает, будут ли границы таблицы свернуты в одну границу или разделены.

Таблица также имеет свойства ширины и высоты. Как видите, мы используем эти свойства в нашем стиле. Мы используем свойство ширины для всей таблицы и свойство высоты для заголовков. Мы можем использовать эти свойства с пикселями и процентами.

Выравнивание текста таблицы

Теперь о выравнивании текста таблицы. Как вы знаете, ранее мы использовали свойство text-align для положения текста. В нашем примере, как вы видите, мы используем свойство text-align для заголовка. Для этого мы используем «text-align: center». Вы можете прочитать нашу предыдущую главу, чтобы узнать, как ее использовать.

Чтобы контролировать расстояние между границей и содержимым таблицы, используйте свойство padding для элементов и:

 td {
  отступ: 15 пикселей;
} 

Выравнивание по горизонтали с помощью свойства text-align

С помощью CSS text-align свойство, вы можете установить горизонтальное выравнивание содержимого в или.

По умолчанию содержимое элементов выравнивается по левому краю, а содержимое элементов выравнивается по центру. В приведенном ниже примере содержимое элементов и выровнено по правому краю:

Пример выравнивания содержимого элементов

и по правому краю:
 

  <голова>
    Название документа
    <стиль>
      стол,
      тд,
      й {
        граница: 1px сплошной черный;
      }
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      й,
      тд {
       выравнивание текста: вправо;
      }
    
  
  <тело>
     

Пример горизонтального выравнивания

<таблица> <тело> Имя Фамилия Деньги Шерлок Холмс $200 Джон Ватсон $250 Мэри Что $500 <тело>

Попробуй сам »

Используя свойство CSS vertical-align, вы можете установить вертикальное выравнивание содержимого в или.

По умолчанию содержимое элементов и выравнивается вертикально по середине.

В приведенном ниже примере содержимое элементов выровнено вертикально по нижнему краю:

Пример вертикального выравнивания содержимого элементов

по нижнему краю:
 

  <голова>
    <стиль>
      стол,
      тд,
      й {
        граница: 1px сплошной черный;
      }
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      тд {
        высота: 50 пикселей;
        вертикальное выравнивание: снизу;
        выравнивание текста: вправо;
        отступ справа: 10px;
      }
    
  
  <тело>
     

Пример вертикального выравнивания

<таблица> Имя Фамилия Деньги Шерлок Холмс $300 Джон Ватсон $250 Мэри Ватсон $500

Попробуй сам »

Добавив свойство CSS border-bottom к элементам и, вы создадите горизонтальные разделители.

Пример создания горизонтальных разделителей:

 

  <голова>
    Название документа
    <стиль>
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      й,
      тд {
        отступ: 10 пикселей;
        выравнивание текста: по левому краю;
        нижняя граница: 1px сплошная #cccccc;
      }
    
  
  <тело>
     

Пример горизонтальных разделителей

<таблица> Имя Фамилия Деньги Шерлок Холмс $200 Джон Ватсон $350 Мэри Ватсон $500

Попробуй сам »

Использование селектора CSS :hover на элементе сделает таблицу наводимой.

Пример создания наводимой таблицы:

 

  <голова>
    Название документа
    <стиль>
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      тр {
        цвет фона: #f5f5f5;
      }
      й,
      тд {
        отступ: 15 пикселей;
        выравнивание текста: по левому краю;
        нижняя граница: 1px сплошная #ccc;
      }
      тр:наведите {
        цвет фона: #cdcdcd;
      }
    
  
  <тело>
     

Пример таблицы с наведением

<таблица> Имя Фамилия Деньги Шерлок Холмс $200 Джон Ватсон $350 Мэри Ватсон $500

Попробуй сам »

Используя селектор nth-child() и добавив свойство CSS background-color к нечетным (четным) строкам таблицы, вы можете создать таблицу с полосами зебры.

Пример создания таблицы с полосами зебры:

 

  <голова>
    Название документа
    <стиль>
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      й,
      тд {
        выравнивание текста: по левому краю;
        отступ: 10 пикселей;
      }
      tr: n-й ребенок (четный) {
        цвет фона: #6eeccf;
      }
      tr: n-й ребенок (нечетный) {
        цвет фона: #2d7f88;
      }
    
  
  <тело>
     

Пример чередующейся таблицы

<таблица> Имя Фамилия Очки Шерлок Холмс $250 Джон Ватсон $350 Мэри Ватсон $500

Попробуй сам »

Добавляя любой элемент-контейнер со значением «auto» свойства CSS overflow-x к элементу

, вы можете сделать таблицу отзывчивой.

Пример создания адаптивной таблицы:

 

  <голова>
    Название документа
    <стиль>
      дел {
        переполнение-х: авто;
      }
      стол {
        граница коллапса: коллапс;
        ширина: 100%;
      }
      й,
      тд {
        выравнивание текста: по левому краю;
        отступ: 8px 5px;
      }
      tr: n-й ребенок (четный) {
        цвет фона: #6eeccf;
      }
      tr: n-й ребенок (нечетный) {
        цвет фона: #2d7f88;
      }
    
  
  <тело>
     

Пример адаптивной таблицы

<дел> <таблица>

Попробуй сам »

Практикуйте свои знания

Чтобы управлять пространством между границей и содержимым в таблице, мы можем использовать

свойство заполнения свойство border-collapse свойство маржи свойство box-sizing

Успех!

Неверно! Ты не правильно понял!

Таблицы — чистая

Таблица по умолчанию

Чтобы стилизовать HTML-таблицу, добавьте имя класса pure-table . Этот класс добавляет отступы и границы к элементам таблицы и выделяет заголовок.

Имя Фамилия Деньги Деньги Деньги Деньги Деньги Деньги Деньги Деньги Деньги Деньги
Шерлок Холмс $150 $150 $150 $150 $150 $150 $150 $150 $150 $150
Джон Ватсон $350 $350 $350 $350 $350 $350 $350 $350 $350 $350
Мэри Ватсон $500 $500 $500 $500 $500 $500 $500 $500 $500 $500
# Сделать Модель Год
1 Хонда Аккорд 2009
2 Тойота Камри 2012
3 Хендай Элантра 2010
 <таблица>
    
        
            <й>#
            Сделать
            Модель
            Год
        
    
    
        
            <тд>1
            Хонда
            Согласие
            <тд>2009
        
        
            2
            Тойота
            Камри
            2012
        
        
            <тд>3
            Хендай
            Элантра
            2010
        
    
 

Таблица с границами

Чтобы добавить горизонтальные и вертикальные границы ко всем ячейкам, добавьте pure-table-bordered classname к элементу

.

# Сделать Модель Год
1 Хонда Аккорд 2009
2 Тойота Камри 2012
3 Хендай Элантра 2010
 <таблица>
    
        
            <й>#
            Сделать
            Модель
            Год
        
    
    
        
            <тд>1
            Хонда
            Согласие
            <тд>2009
        
        
            2
            Тойота
            Камри
            2012
        
        
            <тд>3
            Хендай
            Элантра
            2010
        
    
 

Таблица с горизонтальными границами

Если вы предпочитаете только горизонтальные линии, добавьте имя класса pure-table-horizontal к элементу

.

# Сделать Модель Год
1 Хонда Аккорд 2009
2 Тойота Камри 2012
3 Хендай Элантра 2010
 <таблица>
    
        
            <й>#
            Сделать
            Модель
            Год
        
    
    
        
            <тд>1
            Хонда
            Согласие
            <тд>2009
        
        
            2
            Тойота
            Камри
            2012
        
        
            <тд>3
            Хендай
            Элантра
            2010
        
    
 

Полосатая таблица

Большие таблицы легче анализировать визуально, если строки легко различимы. Добавление pure-table-odd имя класса на каждый другой элемент изменяет фон строки и создает эффект зебры.

Примечание: В браузерах, поддерживающих псевдоселектор CSS3 nth-child , можно использовать более простой подход. Имя класса pure-table-striped можно добавить к элементу

, и чередование в стиле зебры произойдет автоматически.

# Сделать Модель Год
1 Хонда Аккорд 2009
2 Тойота Камри 2012
3 Хендай Элантра 2010
4 Форд Фокус 2008
5 Ниссан Сентра 2011
6 БМВ М3 2009
7 Хонда Цивик 2010
8 Киа Душа 2010
 <таблица>
    
        
            <й>#
            Сделать
            Модель
            Год
        
    
    
        
            <тд>1
            Хонда
            Согласие
            <тд>2009
        
        
            2
            Тойота
            Камри
            2012
        
        
            <тд>3
            Хендай
            Элантра
            2010
        
        
            <тд>4
            Форд
            Фокус
            2008
        
        
            <тд>5
            Ниссан
            Сентра
            2011
        
        
            <тд>6
            БМВ
            M3
            <тд>2009
        
        
            <тд>7
            Хонда
            Гражданские
            2010
        
        
            8
            Киа
            Душа
            2010
        
    
 

Таблицы в CSS: полное руководство по стилю

Хотите узнать, как изменить стиль ваших таблиц в CSS? Тогда вы находитесь в правильном месте. В этом посте мы рассмотрим, как создать таблицу, как стилизовать определенные компоненты и, наконец, как сделать ее адаптивной!

  • Создание таблицы с помощью HTML
  • Таблицы стилей в CSS
    • Удаление пробелов между ячейками
    • Строки стилей в таблицах CSS
    • Стиль столбцов в таблицах CSS Клеточные эффекты
  • Сделайте таблицу адаптивной с помощью CSS
  • Заключение

Создайте таблицу с помощью HTML

Первым шагом в стилизации таблицы является ее создание. Это возможно с помощью следующих тегов HTML:

  • table = контейнер таблицы
  • tr = строка таблицы
  • th = заголовок таблицы
  • td = данные таблицы

Эти теги работают вместе следующим образом. Во-первых, мы создаем элемент таблицы как контейнер для всей таблицы. Затем мы определяем количество строк, которые должна иметь таблица, используя теги строк таблицы (tr). Внутри первой строки мы определяем элементы заголовка (th), а внутри остальных мы определяем значения внутри элементов данных (td).

Например, HTML-код может выглядеть так:

 <таблица>
    
        ИмяДень рождения
    
    
        Макс Мустерманн01.01.2000
    
    
        Миа Мустерфрау10.10.2010
    
 

и получить следующий результат:

Имя День рождения
Макс Мустерманн 01.01.2000
Миа Мустерфрау 10.10.2010

Таблицы стилей в CSS

Стилизация таблиц в CSS имеет множество аспектов, включая стилизацию различных столбцов, строк и даже ячеек. Для стилей строк, столбцов и ячеек мы будем использовать эту таблицу, потому что в ней больше возможностей показать разные стили:

id first_name last_name email gender birthdate
1 Bryon Beszant bbeszant0@theguardian. com Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker dbowker8@archive. org Female 12/4/1989
10 Reina Feeney [email protected] Женщина 19.11.1995

Чтобы получить код, посетите репозиторий GitHub здесь.

Чтобы лучше понять следующий стиль, мы должны определиться с терминологией для различных элементов таблицы. У нас есть термины:

  • строка
  • столбец
  • ячейка

И следующее изображение визуализирует их в таблице примера.

Наконец, прежде чем мы начнем, вы должны иметь базовое представление о CSS и некоторых доступных свойствах. Если у вас их еще нет, не волнуйтесь. Вы можете изучить их в моем блоге по основам CSS здесь.

Удалить пробелы между ячейками

Прежде всего, прежде чем мы начнем стилизовать таблицы, мы удалим ненужные пробелы между ячейками. Вы можете сделать это, используя атрибут cellpacing элемента table. Например, чтобы полностью удалить пробелы, используйте это так:

 

Чтобы визуализировать разницу, у нас есть две таблицы, где каждая ячейка имеет границу. С левой стороны значение ячейки больше 0, а с правой стороны оно равно 0,9.0003

Имя День рождения
Макс Мустерманн 01.01.2000
Миа Мустерфрау 10.10.2010

Имя День рождения
Макс Мустерманн 01.01.2000
Миа Мустерфрау 10.10.2010

Строки стилей в таблицах CSS

Стилизация строк таблицы — довольно интуитивное действие, поскольку вам нужно только добавить стиль к элементам строки таблицы (tr). Например, вы можете изменить фон и цвет текста некоторых строк, создав такой класс:

 .row-style {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
} 

и применение класса ко второй строке таблицы:

id first_name last_name email gender birthdate
1 Bryon Beszant bbeszant0@theguardian. com Male 7/26/1984
2 Willy Davidsohn wdavidsohn1@ucoz. com Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/ 1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker dbowker8@archive. org Female 12/4/1989
10 Reina Feeney [email protected] Female 11/19/1995

Но, конечно же, вы можете создавать и более сложные стили и взаимодействия. Следующие примеры дадут вам представление о том, как это работает:

Каждая вторая строка

Чтобы создать известный эффект зебры, мы можем использовать псевдокласс nth-element. Как следует из названия, он применяет стиль к каждой n-й строке таблицы. Чтобы узнать больше о псевдоклассах, ознакомьтесь с моим постом об основах CSS здесь.

Следующий стиль применяет эффект зебры для таблицы с идентификатором zebra-h:

 #zebra-h tr:nth-child(even) {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
} 

Визуальный результат таков:

id first_name last_name email gender birthdate
1 Bryon Beszant bbeszant0@theguardian. com Male 7/26/1984
2 Вилли Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell ebreckwell6@ virginia.edu Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker dbowker8@archive. org Female 12/4/1989
10 Reina Feeney [email protected] Female 11/19/1995

Эффект наведения строки

Чтобы добавить некоторые интерактивные элементы, мы можем использовать селектор наведения CSS. Следующий стиль добавит приятный эффект наведения для строки, в которой в данный момент находится пользователь:

 #hover-h tr:hover {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
} 

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully rscully2@state. tx.us Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker [email protected] Female 12/4/1989
10 Reina Feeney [email protected] Женский 19. 11.1995

Стиль столбцов в таблицах CSS

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

 // меняем фон заголовка
tr th:nth-child(2) {
  фон: #ccc;
}
// меняем фон ячейки
tr td:nth-child(2) {
  фон: #ccc;
} 

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully rscully2@state. tx.us Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker [email protected] Female 12/4/1989
10 Reina Feeney [email protected] Женщина 19. 11.1995

Как и в случае со строками, мы можем использовать это для более сложных стилей и взаимодействий. Следующие примеры показывают, что:

Каждый второй столбец

Чтобы создать хорошо известный эффект вертикальной зебры, мы можем использовать псевдокласс nth-element элементов данных. Итак, со следующим стилем мы можем добиться желаемого эффекта:

 #zebra-v tr td:nth-child(odd), #zebra-v tr th:nth-child(odd) {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
} 

displayed here:

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully rscully2@state. tx.us Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/ 14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Женщина 30.08.1994
DEEANNE [email protected] [email protected] [email protected] [email protected] DEANNA.0128 10 Reina Feeney Rfeeney9@surveymonke различные элементы таблицы. Решение взято отсюда:

 #hover-v {
    интервал между границами: 0;
    граница коллапса: коллапс;
    переполнение: скрыто;
    z-индекс: 1;
}
#hover-v тд, #hover-v й {
    курсор: указатель;
    положение: родственник;
}
#hover-v td:hover::after {
    цвет фона: голубой;
    содержимое: '\\00a0';
    высота: 10000 пикселей;
    слева: 0;
    положение: абсолютное;
    верх: -5000px;
    ширина: 100%;
    z-индекс: -1;
} 

This results in the following outcome:

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Мужской 26.07.1984
2 Вилли Дэвидсон [email protected]/2 19 8 Мужской2929 8
3 Reidar Scully rscully2@state. tx.us Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot rpiggot5@ Dell.com Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker [email protected] Female 12/4/1989
10 Reina FEENEY [email protected] Женский 11/19/1995

10195

10195

10195

1010195.

Вы создаете новый класс CSS и применяете его к определенному элементу данных (td):

 Test 

Или вы можете применить эффект наведения ко всем ячейкам определенной таблицы, используя этот стиль:

 #hover-c th:hover, #hover-c td:hover {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
} 

with the following result:

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison cabbison3@php. net Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot rpiggot5@dell .com Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker [email protected] Female 12/4/1989
10 Reina Feeney Rfeeney9@surveymonke выделиться с помощью следующего CSS! Эффект выделяет как столбец, так и строку, а также, в качестве бонуса, ячейку. Следующая таблица демонстрирует эффект:

id first_name last_name email gender birthdate
1 Bryon Beszant bbeszant0@theguardian. com Male 7/26/1984
2 Willy Davidsohn [email protected] Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf twoolf4@ xing.com Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker dbowker8@archive. org Female 12/4/1989
10 Reina Feeney [email protected] Женщина 19.11.1995

И вы можете добиться этого с помощью следующего CSS:

 /* row */
#объединить tr:hover {
    цвет: темно-сланцево-серый;
    цвет фона: голубой;
}
/* столбец */
#комбинировать {
    интервал между границами: 0;
    граница коллапса: коллапс;
    переполнение: скрыто;
    z-индекс: 1;
}
#объединить тд, #объединить й {
    курсор: указатель;
    положение: родственник;
}
#комбинировать td:hover::after {
    цвет фона: голубой;
    содержимое: '\\00a0';
    высота: 10000 пикселей;
    слева: 0;
    положение: абсолютное;
    верх: -5000px;
    ширина: 100%;
    z-индекс: -1;
}
/* клетка */
#объединить th:hover, #объединить td:hover {
    белый цвет;
    цвет фона: темно-бирюзовый;
} 

Сделать таблицу адаптивной с помощью CSS

После того, как мы придадим нашим таблицам нужный стиль с помощью CSS, останется только один важный момент. Как мы можем сделать их отзывчивыми?

Прежде чем мы сможем ответить на этот вопрос, мы должны ответить, что означает отзывчивость в смысле таблиц. Для базовой таблицы это означает, что содержимое переполнения будет доступно через ползунок

Чтобы включить это, мы должны добавить свойство overflow-x к контейнеру вокруг таблицы (чтобы получить переполнение, я применил много отступов). в отдельные ячейки):

 .прокручиваемый {
переполнение-х: авто;
} 

Со следующим HTML:

 
<таблица>

This results in the following table with a scrollbar:

id first_name last_name email gender birthdate
1 Bryon Beszant [email protected] Male 7/26/1984
2 Willy Davidsohn wdavidsohn1@ucoz. com Male 2/12/1986
3 Reidar Scully [email protected] Male 7/22/1989
4 Clarine Abbison [email protected] Female 10/14/1981
5 Teddie Woolf [email protected] Male 5/20/1985
6 Rene Piggot [email protected] Male 8/29/ 1981
7 Erika Breckwell [email protected] Female 4/29/1989
8 Nerte Sasser [email protected] Female 8/30/1994
9 Deeanne Bowker [email protected] Female 12/4/1989
10 Reina Feeney rfeeney9@surveymonkey.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *