最小的缺点是:来自代码隐藏或使用表的内联大小?

问题描述

| 我有两个选择来实现设计,从我的角度来看,这两个选择都非常“难看”。还有三分之一,可以稍微更改设计,但我喜欢挑战。 对于CSS,
a
b
都具有未知的宽度。在
b
中,将有一个
float:right
元素,需要与右侧200px对齐。由于其他影响,不可能对其进行绝对定位。 我需要: 1.从代码后面设置宽度:
<div id=\"a\" style=\"float:left; width:20px;\"></div>
<div id=\"b\" style=\"width:180px;\"></div>
或2.强制第一个表格元素向左移动100%的宽度:
<table>
 <tr>
  <td id=\"a\" style=\"width:20px;\"></td>
  <td id=\"b\" style=\"width:100%;\"></td>
 </tr>
</table>
哪个解决方案是较小的邪恶? 编辑:在此处查看示例:http://jsfiddle.net/bVysU/10/     

解决方法

        都不行使用此代替:
<div id=\"a\" style=\"float: left; width: 20px\"></div>
<div id=\"b\" style=\"overflow: hidden\"></div>
那将使第二个填充浮点数留下的空白。 编辑: 您可以像这样在注释中执行您要求的操作:
<div id=\"a\" style=\"float: left\">
    <div style=\"width: 20px\"></div>
</div>
<div id=\"b\" style=\"overflow: hidden\"></div>
    ,        如果您可以确定\'a \'和\'b \'所需的确切宽度,并且您知道它们不能超过容器的宽度,则基于div的版本会更好。 但是,如果宽度可能太大而无法容纳容器,或者元素的大小不确定,则可能需要使用表格版本,以避免\ b降到下一行。