Избавляемся от cellpadding и cellspacing

Все правильные мальчики и девочки уже давно не пишут <table cellpadding="0" cellspacing="0" border="0">. Они знают, что лучше один раз написать стиль:

table{
border:0px; /* border="0" */
border-collapse:collapse; /* cellspacing="0" */
}

table td{
padding:0px; /* cellspadding="0" */
}

HTML код:

<table>
<tr>
<td>Foo</td>
<td>Bar</td>
</tr>
</table>

Когда нужно получить другой вид таблицы, все правильные мальчики и девочки переопределяют этот базовый стиль, для верности иногда с помощью !important:

table.stuff{
border-collapse:separate;
}

table.stuff td{
padding:5px 10px;
border:1px solid #666666;
}

HTML код:

<table class="stuff">
<tr>
<td>Foo 2</td>
<td>Bar 2</td>
</tr>
</table>

А некоторые мальчики и девочки даже знают, что есть такое CSS свойство, как border-spacing. Но они также знают, что оно совсем не работает в Internet Explorer. Поэтому растояние между ячейками при border-collapse:separate всегда в этом браузере одинаковое, равное 2 px.

Автор: Александр Шуркаев