Граница вокруг элемента tr не отображается?
Похоже, что Chrome/Firefox не отображает границы tr
, но он отображает границу, если селектор table tr td
,
Как я могу установить границу на tr?
Моя попытка, которая не работает:
table tr {
border: 1px solid black;
}
<table>
<tbody>
<tr>
<td>
Text
</td>
</tr>
</tbody>
</table>
http://jsfiddle.net/edi9999/VzPN2/
Это аналогичный вопрос: установить границу для таблицы tr, работает во всем, кроме IE 6 и 7, но, похоже, работает везде, кроме IE.
3 ответа
Добавьте это в таблицу стилей:
table {
border-collapse: collapse;
}
Причина, по которой он ведет себя так, на самом деле довольно хорошо описана в спецификации:
Есть две разные модели для установки границ в ячейках таблицы в CSS. Один наиболее подходит для так называемых разделенных границ вокруг отдельных ячеек, другой подходит для границ, которые являются непрерывными от одного конца таблицы к другому.
... и позже, для collapse
установка:
В модели сворачивающихся границ можно указать границы, которые окружают ячейку, строку, группу строк, столбец и группу столбцов полностью или частично.
Можно эмулировать границу в отдельном режиме свертывания границы таблицы с помощью css box-shadow:
table tr {
box-shadow: 0 0 4px #ccc;
}
Помимо того, что говорит верхний ответ, вы также должны убедиться, что ваша граница имеет видимый стиль, например:
border-style: solid;
если вы добавляете пользовательские стили на какой-либо веб-сайт.