У меня есть таблица HTML следующим образом:
<table border="1">
<tr>
<td>Row with text</td>
</tr>
<tr>
<td></td><!-- Empty row -->
</tr>
</table>
У меня есть таблица HTML следующим образом:
<table border="1">
<tr>
<td>Row with text</td>
</tr>
<tr>
<td></td><!-- Empty row -->
</tr>
</table>
Вы можете использовать этот код:
td:empty:after{
content: "\00a0";
}
Он добавляет экранированный
после каждого изначально пустого td
, решая вашу проблему.
td:empty:after{
content: "\00a0";
}
<table border="1">
<tr>
<td>Row with text</td>
</tr>
<tr>
<td></td><!-- Empty row -->
</tr>
<tr>
<td>asd</td>
</tr>
<tr>
<td>dees</td>
</tr>
<tr>
<td></td><!-- Empty row -->
</tr>
</table>
Вы можете добавить height в table-cell, в этом случае он будет работать как min-height для других элементов (с display: block
, display: inline-block
и т.д.). Я добавил еще одну строку таблицы с длинным текстом, чтобы продемонстрировать ее:
td {
height: 22px;
}
<table border="1">
<tr>
<td>Row with text</td>
</tr>
<tr>
<td></td><!-- Empty row -->
</tr>
<tr>
<td>Very-very long text with many words, Very-very long text with many words, Very-very long text with many words, Very-very long text with many words, Very-very long text with many words</td>
</tr>
</table>
Попробуйте добавить в свою таблицу форматирование CSS, например,
table.someclass tbody td {
white-space:nowrap;
min-width:30px;
vertical-align:top;
}
Это сделает все пустые ячейки равными и шириной не менее 30 пикселей.
Такие вещи, как
, nowrap
и добавление CSS-контента, например, content: "\00a0";
, не помогли мне.