При использовании этого CSS он будет выглядеть так, как вы хотите, в IE / Safari / FF / Chrome. Проблема заключается в коллапсе границы, именно в этом причина продолжения белой границы до границы таблицы. Если вы удалите это (и добавите обратно в cellpadding = "0" и cellspacing = "0") и перейдете с этим CSS:
#repeaterTable
{
border-left: 1px solid #A3A3A3;
border-right: 1px solid #A3A3A3;
background: #CCC;
}
#repeaterTable td
{
border-bottom: 1px solid white;
}
#repeaterTable td.last
{
border-bottom: 0px;
}
С этим HTML:
<table id="repeaterTable" cellpadding="0" cellspacing="0">
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td class="last"> </td></tr>
</table>
Это сработает.
Вы можете использовать: last-child в CSS, но это не поддерживается старыми браузерами (IE7 / и т. Д.), Поэтому там это будет выглядеть неправильно. Зависит от того, насколько совместимым вы хотите быть. Поэтому вместо этого я использовал «последний» класс.
С другой стороны, вы можете просто обернуть таблицу в DIV, у которого есть левая и правая граница, и тогда вам нужно только беспокоиться о границах строк, и вы можете использовать сжатие.