Почему моя ширина ячейки таблицы ошибочна в Chrome?
У меня есть таблица с двумя строками. В первой строке всего три ячейки. Вторая строка имеет две ячейки, первая ячейка которой содержит другую таблицу, которая должна заполнять всю ячейку.
<table border="1" style="border-collapse:collapse;">
<tr>
<td style="WIDTH: 205px;">1</td> <!--This width doesn't apply in Chrome-->
<td style="width:100%;">2</td>
<td style="WIDTH: 5px;">3</td>
</tr>
<tr>
<td colspan="2">
<TABLE width="100%" border="1" style="border-collapse:collapse;table-layout: fixed;">
<TR>
<TD style="width:130px;">
A</TD>
<TD style="width:90px;">
B</TD>
<TD style="width:230px;">
C</TD>
</TR>
</TABLE>
</td>
<td>
D
</td>
</tr>
</table>
Достаточно просто, действительно... или так я думал.
Похоже, я бы ожидал в IE. Но Chrome, похоже, неправильно применяет ширину первой ячейки. Кажется, что это влияет на таблицу в ячейке ниже.
![enter image description here]()
Почему это происходит, и как я могу обойти это?
Ответы
Ответ 1
Две вещи, которые вы должны сделать:
- В элементе таблицы используйте
table-layout: fixed;
- Вставьте столбцы и дайте им ширину
- (Вы также можете назначить ширину заголовкам/ячейкам таблицы первой строки)
Вот так:
<table border="1" style="table-layout: fixed; width: 100%;">
<colgroup>
<col style="width: 205px;">
<col style="width: auto;">
<!-- Use "width: auto;" to apply the remaining (unused) space -->
<col style="width: 5px">
</colgroup>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<!-- Etc. -->