我有两个选项来实现一个设计,从我的角度来看,这两个选项都非常“丑陋”。还有第三个,稍微改变设计,但我喜欢挑战。
对于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/
答案 0 :(得分:1)
都不是。请改用:
<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>
答案 1 :(得分:0)
如果您可以确定“a”和“b”所需的确切宽度,并且如果您知道它们不能超过容器的宽度,则基于div的版本会更好。
但是,如果宽度有可能太大而无法容纳容器,或者元素大小不确定,则可能需要使用表格版本,以避免'b'掉到下一行。