【发布时间】:2013-03-22 09:19:34
【问题描述】:
我正在尝试使用 float 在容器中组织宽度为 40% - 30% - 30% 的 div 的水平布局。
我想在每个 div 中插入 纯文本,后跟一个 input 字段,该字段填充其 div 的水平其余部分。
作为问题的简化再现,只需在 CSS 上添加:
.r {background-color: pink;}
.g {background-color: lightgreen;}
.b {background-color: lightblue;}
.w40 {width: 40%;}
.w30 {width: 30%;}
.w100 {width: 100%;}
.fl {float: left;}
.fr {float: right;}
.cb {clear: both;}
这在 HTML 上:
<div class="r w40 fl">
<div class="g fl">Aaaaaa:</div>
<input class="b" value="Bbbbbb" />
</div>
<div class="r w30 fl">
<div class="g fl">Cccccc:</div>
<div class="b">Dddddd</div>
</div>
<div class="r w30 fl">
<div class="g fl">Eeeeee:</div>
<div class="b">Ffffff</div>
</div>
如何让Bbbbbbb占据其div右侧的所有空间,就像Dddddd和Ffffff一样?
这是我所期待的:
【问题讨论】:
-
我不明白你在找什么。你能制作一个你所期待的简单图像吗?
-
旁白:去样式化的无序列表是比 DIV 更好的容器。 LABEL 标记比 DIV 更适合您的文本指示符。
-
jsFiddle:jsfiddle.net/jdwire/8S6NT
-
@ignacioricci This is what I'm expecting.
-
你的代码已经做到了,我知道。但是 aaa、ccc、eee 会是多行的较长文本,对吧?如果你漂浮的东西没有宽度,你就不能“填满”空间。