什么是最不好的:代码隐藏或使用表的内联大小?

时间:2011-05-30 14:44:05

标签: html css

我有两个选项来实现一个设计,从我的角度来看,这两个选项都非常“丑陋”。还有第三个,稍微改变设计,但我喜欢挑战。

对于CSS,ab都有未知宽度。在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/

2 个答案:

答案 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'掉到下一行。