这样的事情是可能的使用CSS和两个内联块(或任何)DIV标签,而不是使用表格?
表格的版本是这样的(添加边框以便你能看到它):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<table style="width:100%;">
<tr>
<td style="border:1px solid black;width:100px;height:10px;"></td>
<td style="border:1px solid black;height:10px;"></td>
</tr>
</table>
</body>
</html>
它生成一个左列,其宽度为固定宽度(而不是百分比宽度),以及一个右列,其展开以填充该行上的剩余空间。听起来很简单,对吧?此外,由于没有任何东西被“浮动”,父容器的高度会适当地扩展以包含内容的高度。
< p > ——开始咆哮 < br > 我见过固定宽度边栏的多栏布局的“明确修复”和“圣杯”实现,它们很糟糕,而且很复杂。它们颠倒了元素的顺序,使用百分比宽度,或者使用浮动、负边距,“左”、“右”和“边距”属性之间的关系很复杂。此外,布局是亚像素敏感的,因此即使添加一个像素的边框、填充或边距也会破坏整个布局,并将整个列换行到下一行。例如,即使你试图做一些简单的事情,比如把4个元素放在一行上,每个元素的宽度设置为25%,四舍五入错误也是一个问题 ——结束咆哮——< / >强我尝试过使用“inline-block”和“white-space:nowrap;”,但问题是我不能让第2个元素填充行上的剩下的空间。将width设置为“width:100%-(LeftColumWidth)px”在某些情况下可以工作,但在width属性中执行计算实际上是不支持的。