我有以下html结构:
<div style="width:100%">
<div style="float:left; width:70%"><input /></div>
<div style="float:left">element with unknown width</div>
<div style="float:left; width=30%"><input /></div>
<div style="clear:both" />
</div>
我想要实现的目标如下:
这样的事情怎么办?
答案 0 :(得分:2)
@RoToRa:谢谢您的提示。我想这是这个问题的最终解决方案:
分发70:30
<div style="display:table; width:100%">
<div style="display:table-cell; width:70%">
<input style="width:100%"/>
</div>
<div style="display:table-cell; width:1px">
<a style="white-space:nowrap">Some Text</a>
</div>
<div style="display:table-cell; width=30%">
<input style="width:100%;" />
</div>
</div>
解决方案,其中第一个输入字段抓取所有多余空间,最终输入字段具有固定宽度:
<div style="display:table; width:100%">
<div style="display:table-cell; width:100%">
<input style="width:100%"/>
</div>
<div style="display:table-cell; width:1px">
<a style="white-space:nowrap">Some Text</a>
</div>
<div style="display:table-cell; width=100px">
<input style="width:100px;" />
</div>
</div>
答案 1 :(得分:0)
什么是中间div的宽度?由于我的代表得分最高,我不是一个非常有经验的开发人员,但我认为这是你问题的症结所在。如果它在中间柱的宽度是什么并不重要,那么div比率为70%,0%,30%和7%,90%,3%。在数学上是对你的问题的等价答案。所以你的解决方案可以简单:
<div style="width:100%">
<div style="float:left; width:7%">Some elements here.</div>
<div style="float:left; width:90%">Some more elements here.</div>
<div style="float:left; width:3%">Even more elements here.</div>
</div>
答案 2 :(得分:0)
表应该是邪恶的,但它们似乎解决了这个问题。 我仍然对没有javascript或表格的解决方案感兴趣,如果有人能找到一个......
以70:30的比例分配剩余空间
<table width="100%">
<tr>
<td style="width:70%">
<input style="width:100%"/>
</td>
<td>
<a>Some Text</a>
</td>
<td style="width:30%">
<input style="width:100%"/>
</td>
</tr>
</table>
第一个输入字段占用所有剩余空间,而最后一个框具有固定宽度:
<table width="100%">
<tr>
<td style="width:100%">
<input style="width:100%"/>
</td>
<td>
<a>Some Text</a>
</td>
<td style="width:100px">
<input style="width:100px"/>
</td>
</tr>
</table>