【发布时间】:2011-07-12 09:33:14
【问题描述】:
例子:
<table width="500">
<tr>
<td width="50">1</td>
<td width="100%">2</td>
<td width="100">3</td>
</tr>
</table>
如果我没记错的话,如果宽度是以百分比形式给出的,它是父元素的 total 宽度的百分比,而不是 剩余 宽度的百分比> 宽度,对吗?
好的,那么当我们混合百分比和像素宽度时会发生什么?在上面的示例中,第 2 列 takes up as much space as it can,并将 1 和 2 挤压到侧面 但 它不会隐藏它们;即使设置了overflow:hidden,它也允许他们有足够的空间来显示他们的内容。
如果我们改为change column 2 to 10%,则百分比似乎再次优先,但它似乎仍然尊重 1 和 3 的比例——3 仍然是 1 的两倍,即使确切的宽度不是指定。
那么如果我们想设置 2 列,让第 3 列填满剩余的空间呢?简单!完全是omit the value。
很好,但是如果我们想将一列设置为明确的像素宽度,并且第二列的宽度是第三列的两倍以填充剩余空间,该怎么办?这在 HTML/CSS 中是否可行?
【问题讨论】:
-
顺便说一句,根据 HTML5 规范,TD 元素的 width 属性已过时,"must not be used by authors"。
-
@Sime:这不是重点。我可以用 CSS 轻松设置它们,它们的行为也一样。