Следующая таблица HTML-страницы с классом myclass
не имеет фиксированной ширины. Я нашел этот код из производственного кода, и таблица с классом myclass
должна иметь ширину 900 пикселей. Я не уверен, почему ширина определяется в первой строке td
вместо класса таблицы myclass
. Есть ли какое-либо правило, в котором ширина td
определяет ширину содержащей таблицы?
Когда я тестирую его, в Chrome ширина этой таблицы является произвольным числом (в данном случае 984 пикселя, в производстве - очень маленький разрыв - 121 пиксель), тогда как в IE ширина таблицы установлена на 100%.
Проблема устранена, если я добавлю атрибут colspan="2"
в первую строку td
ИЛИ если я вставлю width:900px
в описание .myclass{}
.
sample.html
table,
th,
td {
border: 1px solid black;
}
<table width="75%">
<tr>
<td colspan="2" align="left">
<table class="myclass">
<tr height="40px">
<td valign="top" width="900">
<label style="font-weight: bold;" for="label">Label 1</label>
</td>
</tr>
<tr height="40px">
<td valign="top">
<label for="label">Label 2 </label>
<label for="label">Label 3</label>
</td>
</tr>
<tr height="40px">
<td width="50%" valign="top">Label 4</td>
<td width="50%" valign="top">Label 5</td>
</tr>
<tr>
<td colspan="2" align="center" valign="bottom" height="50">button placeholder</td>
</tr>
</table>
</td>
</tr>
</table>
Почему, когда я устанавливаю colspan="2"
, ширина таблицы выбирается из ширины td
вместо использования случайной ширины? Как устанавливается ширина таблицы?