Подтвердить что ты не робот

Почему cellpacing и cellpadding не стили CSS

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

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

4b9b3361

Ответ 1

Cellspacing:

table { border-collapse: collapse; }

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

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

Ответ 2

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

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

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

Ответ 3

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

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

Кроме того, TD, TR reset:

thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

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

Основываясь на этом комментарии - и этот комментарий один! - Я продолжаю использовать cellpacing = "0" в разметке, если кто-то не говорит мне окончательно (внизу), почему мне не нужно. Однако, возможно, это было бы лишним в любом современном браузере, который стоит поддерживать в эти дни.

Ответ 4

table { border-collapse:collapse; }

Ответ 5

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