Почему сотовое пространство и сотовая панель не являются стилями CSS
Я не знаю, почему это так беспокоит меня, но когда я создаю веб-сайты, я всегда стараюсь делать все свои стили с помощью CSS. Однако одна вещь, которую я всегда должен помнить при работе с таблицами, это добавить cellspacing="0" и cellpadding="0"
Почему нет свойства CSS для переопределения этих устаревших атрибутов HTML 4?
5 ответов
table { border-collapse: collapse; }
Что касается мобильного телефона, вы можете сделать
table tr td, table tr th { padding: 0; }
Мат уже ответил, но только для полноты:
padding
→cellpadding
border-spacing
→cellspacing
border-collapse
→ нет HTML-эквивалента
Также стоит помнить, что вы можете установить отдельные горизонтальные и вертикальные значения для CSS, например border-spacing: 0 1px
,
Таблица стилей сброса Эрика Майера содержит следующий стиль сброса для таблицы:
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
Дополнительно TD, TR сбрасываются:
thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
Причина, по которой я упоминаю об этом, состоит в том, что у него есть комментарий "таблицам все еще нужно cellpadding=0". Я предполагаю, что он поместил это здесь по причине - вероятно, необходимой для некоторых старых браузеров. Судя по тому, что это один из немногих комментариев, которые он включил, я предполагаю, что это важно, и что для этого есть веская причина.
На основании этого комментария - и только этот комментарий! - Я продолжаю использовать cellspacing="0" в разметке, если кто-то не скажет мне окончательно (ниже), почему мне это не нужно. Однако это может быть ненужным в любом современном браузере, который стоит поддерживать в наши дни.
Я предполагаю, что кто-то считал, что расстояние между клетками - "плохая практика". Насколько я понимаю, это эквивалентно включенному в стандарт CSS2, но IE не поддерживает это свойство. border-collapse позволяет установить интервал в 0 значение. Заполнение ячейки может быть достигнуто путем установки свойства заполнения для элементов TD таблицы.
По-прежнему жаль, что ячейки не могут наследовать свои отступы по умолчанию от свойства CSS строки (tr), в противном случае от группы строк (thead/tbdy/tfoot), если она не "начальная", colgroup, если она не "начальная", или целой Таблица.
"cellspacing" не имеет этой проблемы (но на самом деле они являются полями вокруг ячеек, и эти внешние поля сжимаются с полями соседних ячеек и с внутренними отступами таблицы / группы строк или строки, где они заполняются таблицей настройка "фона" (фон таблицы также включает в себя "границу" таблицы, которая рисуется поверх нее и которая также обрезает этот фон на внешнем крае границы таблицы, особенно когда эта граница имеет закругленные углы).
Но для заполнения ячеек было бы проще определить "cell-padding: n" как свойство таблицы или группы, а не для каждой ячейки отдельно и явно с собственным стилем "border: n" (который следует использовать только в том случае, если мы необходимо переопределить заполнение в некоторых конкретных ячейках).