Можно ли использовать 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: тег таблицы