Почему сотовое пространство и сотовая панель не являются стилями CSS - PullRequest
50 голосов
/ 04 декабря 2008

Я не знаю, почему это так беспокоит меня, но когда я создаю веб-сайты, я всегда стараюсь делать все мои стили с помощью CSS. Однако, когда я работаю с таблицами, я всегда должен помнить одну вещь: add cellspacing = "0" и cellpadding = "0"

Почему нет свойства CSS для переопределения этих устаревших атрибутов HTML 4?

Ответы [ 5 ]

63 голосов
/ 04 декабря 2008

Cellspacing :

table { border-collapse: collapse; }

Что касается cellpadding , вы можете сделать

table tr td, table tr th { padding: 0; }
41 голосов
/ 07 декабря 2008

Мат уже ответил, но только для полноты:

  • paddingcellpadding
  • border-spacingcellspacing
  • border-collapse → нет эквивалента HTML

Стоит также помнить, что для CSS можно установить отдельные горизонтальные и вертикальные значения, например. border-spacing: 0 1px.

8 голосов
/ 25 января 2009

Эрик Майер таблица стилей сброса содержит следующий стиль сброса для таблицы:

/* 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" в разметке, если кто-то не скажет мне окончательно (ниже), почему мне это не нужно. Однако это может быть ненужным в любом современном браузере, который стоит поддерживать в наши дни.

1 голос
/ 04 декабря 2008
table { border-collapse:collapse; }
0 голосов
/ 04 декабря 2008

Полагаю, кто-то считал, что расстояние между клетками - «плохая практика». Насколько я понимаю, это эквивалентно включенному в стандарт CSS2, но IE не поддерживает это свойство. border-collapse позволяет установить интервал в 0 значение. Заполнение ячейки может быть достигнуто путем установки свойства заполнения для элементов TD таблицы.

...