Как сделать отступ между ячейками в таблице html
Перейти к содержимому

Как сделать отступ между ячейками в таблице html

  • автор:

Свойство border-spacing

Свойство border-spacing задает отступ между ячейками td или ячейками th HTML таблицы (и между границей ячейки и самой таблицы). Значением свойства служат любые единицы для размеров, кроме процентов.

Синтаксис

Значения

Значение Описание
одно значение Одно значения задает одинаковые отступы между ячейками по вертикали и по горизонтали.
два значения Первое значение задает отступ по горизонтали, а второе значение — отступ по вертикали.

Значение по умолчанию: 0 . Однако, каждый браузер имеет свое, ненулевое значение атрибута cellspacing , поэтому по умолчанию вы увидите отступы между ячейками.

Замечания

Применяйте свойство для таблиц, а не для ее ячеек (для ячеек не будет работать).

Аналогичного эффекта нельзя добиться с помощью margin , так как margin для ячеек таблицы не работает.

Если задано свойство border-collapse в значении collapse — border-spacing работать не будет.

Пример . Одно значение

Давайте сделаем отступы между ячейками (и между ячейкой и границей таблицы) в 10px :

1 2 3
4 5 6
7 8 9

table < border-spacing: 10px; border-collapse: separate; width: 400px; border: 1px solid red; >td < border: 1px solid red; text-align: center; >

Пример . Два значения

А теперь сделаем отступы в 10px по горизонтали и 30px по вертикали:

1 2 3
4 5 6
7 8 9

table < border-spacing: 10px 30px; border-collapse: separate; width: 400px; border: 1px solid red; >td < border: 1px solid red; text-align: center; >

Пример . Зададим border-collapse: collapse

А вот теперь border-spacing работать не будет из-за свойства border-collapse в значении collapse :

1 2 3
4 5 6
7 8 9

table < border-collapse: collapse; border-spacing: 10px 30px; width: 400px; border: 1px solid red; >td < border: 1px solid red; text-align: center; >

Как сделать отступ в таблице html

Для формирования отсутпов внутри ячеек таблицы необходимо использовать свойство padding .

Свойство padding устанавливает внутренние отступы/поля со всех сторон элемента. Область отступов это пространство между содержанием элемента и его границей. Отрицательные значения не допускаются. Свойство padding краткая форма записи свойств, чтобы не писать отдельное правило для каждой стороны (padding-top, padding-right, padding-bottom, padding-left).

Например, чтобы задать у ячеек все отступы в 20 пикселей, а отступ справа в 40 пикселей, нужно написать такой CSS-код:

td  padding: 20px; padding-right: 40px; > 

Рамка и отступы HTML-таблицы

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

style="border: 1px solid red;"> Ячейка Ячейка Ячейка Ячейка

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

style="border: 1px solid red;"> style="border: 1px solid red;">Ячейка style="border: 1px solid red;">Ячейка style="border: 1px solid red;">Ячейка style="border: 1px solid red;">Ячейка
class="raz"> Ячейка Ячейка Ячейка Ячейка

border-spacing : расстояние между ячейками таблицы

слева+справа
сверху+снизу initial 0 inherit наследует значение родителя unset наследует значение родителя

 .raz < border-spacing: 0; /* или */  border-spacing: 0 0; /* border-collapse наследуется, применяется только к table или inline-table элементам с border-collapse: separate; */ > .raz, .raz td  Ячейка Ячейка Ячейка Ячейка

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

 /* один из возможных вариантов сделать отступы вокруг ячеек таблицы */ .raz < border-spacing: 0; padding: 0 2em 3em 0; /* значения left и top последних ячеек */ > .raz, .raz td < position: relative; border: 1px solid red; >.raz td:nth-child(2) < left: 1em; >.raz td:nth-child(3) < left: 2em; /* каждая дополнительная ячейка сдвигается на +1 единицу */ > .raz tr:nth-child(2) td < top: 1em; >.raz tr:nth-child(3) td < top: 2em; >.raz tr:nth-child(4) td  Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка Ячейка

empty-cells : наличие границ и фона у пустых ячеек

show у пустой ячейки есть граница и фон hide у пустой ячейки нет границы и фона initial show inherit наследует значение родителя unset наследует значение родителя

 .raz < empty-cells: show; /* empty-cells наследуется, применяется только к table или inline-table элементам с border-collapse: separate; */ > .raz, .raz td < border: 1px solid red; >.raz td  Ячейка  Ячейка Ячейка

border-collapse : схлопывание границ ячеек

separate у каждой ячейки и таблицы в целом своя граница, игнорируется свойство border у thead , tfoot , tbody и tr collapse между ячейками и контейнером единая граница, отсутствуют двойные рамки таблицы, игнорируются свойства border-spacing , empty-cells , padding у table initial separate inherit наследует значение родителя unset наследует значение родителя

    Ячейка Ячейка Ячейка Ячейка

Жирные внешние границы таблицы

 .raz < border-collapse: collapse; border: 4px solid red; > .raz td  Ячейка Ячейка Ячейка Ячейка

Таблица без границ аки сетка без внешней рамки

 .raz < border-collapse: collapse; border-style: hidden; > .raz td  Ячейка Ячейка Ячейка Ячейка

Свойство border у tr

   Заголовок Заголовок Ячейка Ячейка Ячейка Ячейка

Свойство padding у table при border-collapse: collapse;

 .raz < border-collapse: collapse; outline: 1px solid red; /* outline можно задавать только для четырёх сторон одновременно */ outline-offset: 2px; margin: 3px; /* outline-width + outline-offset = 1px + 2px = 3px */ > .raz, .raz td  Ячейка Ячейка Ячейка Ячейка

Отступы внутри ячейки таблицы

Расстояние от содержимого до края ячейки определяет свойство padding .

   Ячейка Ячейка Ячейка Ячейка

Отступы внутри ячеек

Вы освоили простейшие приёмы для работы с рамками таблиц. Наша таблица уже смотрится аккуратно, но содержимое ячеек прилипает к рамкам. Если добавить отступы внутри ячеек, то информация будет восприниматься намного лучше.

CSS-свойство padding задаёт «внутренние отступы элемента» со всех сторон. Можно задавать отступы для каждой из сторон отдельно, используя свойства:

  • padding-top ,
  • padding-right ,
  • padding-bottom ,
  • padding-left .

Например, чтобы задать у ячеек все отступы в 10 пикселей, а отступ слева в 20 пикселей, нужно написать такой CSS-код:

Перейти к заданию

  • index.html Сплит-режим
  • style.css Сплит-режим

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

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