问题描述
|
我有两个选择来实现设计,从我的角度来看,这两个选择都非常“难看”。还有三分之一,可以稍微更改设计,但我喜欢挑战。
对于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降到下一行。