Можно ли использовать cellpadding = "2" cellspacing = "2" в <table>?

Можно ли использовать cellpadding="2" cellspacing="2" в <table>? Или они не рекомендуются W3C и не соответствуют стандартам Интернета?

Каковы альтернативы в CSS?

Обновление: и нормально ли использовать <td align="right" valign="top">?

Мой вопрос заключается в разделении содержания и презентации и рекомендациях W3C.

Обновление: В соответствии с этой диаграммой в <table> только в align и bgcolor не разрешены в строковой версии. Так можно ли разрешить другие свойства <table>?

alt text http://shup.com/Shup/293811/11021055643-My-Desktop.png

Ответ 1

Нет, атрибуты официально не устарели, но, как правило, они не одобряются, так как вы должны использовать CSS для презентации.

Для cellpadding вы можете легко заменить его padding в CSS:

table.classname td {
  padding: 4px;
}

Для cellspacing сначала решите, действительно ли это необходимо. Если у вас нет границ на ячейках таблицы, или вы не хотите, чтобы расстояние между границами каждой ячейки, то это не так. (Лично я думаю, что интервал между ячейками выглядит плохим по дизайну, но может быть полезным при некоторых обстоятельствах.)

Очень приятно сделать это:

table {
  border-collapse: collapse;
}

Затем каждая ячейка таблицы разделяет границу со своим соседом, что означает, что вы можете добавить, скажем, 1px верхнюю и нижнюю границы, и вы просто получите 1px, разделяющий каждую строку.

Чтобы отделить границы, вы можете использовать этот CSS, хотя он, вероятно, не работает в IE6.

table.data td {
  border-collapse: separate;
  border-spacing: 4px;
}

Ответ 2

В то время как это технически хорошо, настоятельно не рекомендуется.

Представьте, что на вашем сайте было много таблиц на многих страницах, и вы хотели изменить пополнение или интервал по той или иной причине. Ну, вам придется пройти через весь сайт и внести изменения.

Или вы можете использовать CSS и изменить весь сайт, изменив строку кода в одном месте. Это не только намного эффективнее, но и проще, помогает избежать ошибок и поддерживает вас.

<style type="text/css">
    table td { padding:10px; margin:10px; }
</style>

Если вы хотите использовать некоторые таблицы с заполнением и полями, а другие без них, вы можете создавать классы в своем CSS, добавив ".". перед именем по вашему выбору:

<style type="text/css">
    .myTable td { padding:10px; margin:10px; }
</style>
<table class="myTable> etc...

Обратите внимание, что имена классов чувствительны к регистру. Есть также много других атрибутов, которые вы можете повеселиться, например, с рамкой, фоном и т.д.

Короче говоря, в то время как атрибуты сокета и атрибута сокета не устарели, гораздо лучше использовать CSS для удобства и согласованности на вашем сайте.

Ответ 3

<style type="text/css">
table.padded-table td { 
    padding:10px; 
    }
</style>

Ответ 4

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

Если вам нужен список свойств и какие из них устарели, я считаю, что w3schools являются самым надежным источником информации.

w3schools: td tag

w3schools: тег таблицы