san*_*gil 4 html css html-table
我正在尝试创建一个符合以下要求的表:
我已经创建了一个小例子来说明问题 - 因为你可以看到第3列保持在宽度0,所以不可见.
编辑:如果删除"table-layout:fixed".出现第三列,但忽略固定宽度,所有列都自动调整.
HTML
<table>
<tr>
<td class="cell header" id="header1">Header 1</td>
<td class="cell header" id="header2">Header 2</td>
<td class="cell header" id="header3">Header 3</td>
</tr>
<tr>
<td class="cell">Cell 1</td>
<td class="cell">Cell 2</td>
<td class="cell">Very looooong content</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS
table {
table-layout: fixed;
width: 100%;
border: 1px solid #696969;
}
.cell {
color: #898989;
border: 1px solid #888;
padding: 2px;
overflow: hidden;
}
.header {
background-color: lightsteelblue;
color: black;
}
#header1, #header2 {
width: 50px;
}
Run Code Online (Sandbox Code Playgroud)
这甚至可能吗?任何帮助,将不胜感激...
表格布局是不可能的:固定,桌子上的宽度为0.
在固定表格布局算法中,每列的宽度确定如下:
- "width"属性的值为"auto"的列元素设置该列的宽度.
- 否则,第一行中具有"width"属性的"auto"值以外的值的单元格将确定该列的宽度.如果单元格跨越多个列,则宽度将在列上分割.
- 任何剩余的列均等地划分剩余的水平表空间(减去边框或单元格间距).
但是,当您执行自动布局(在第17.5.2.2节中描述)时,您的宽度将被推动以使用您的内容并且仅使用尽可能提供的宽度.例如,如果每列的最小宽度总和超过表的容器宽度,则所有内容都会移动以适应您设置的宽度.
还应该指出:
在'table-layout'为'auto'的情况下,UAs不需要实现此算法来确定表格布局; 他们可以使用任何其他算法,即使它导致不同的行为.
所以看起来答案是不幸的是一个啰嗦的"不":(