Вопрос

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

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

Это было полезно?

Решение

Cellspacing :

table { border-collapse: collapse; }

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

table tr td, table tr th { padding: 0; }

Другие советы

мэт уже ответил, но просто для полноты картины:

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

table { border-collapse:collapse; }

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top