我有两个div并排。第一个包含一个文本字段可能相当冗长,另一个包含一个简短的数字。
我需要第一个div来占用所有可用空间,而不需要拉伸父级和剪辑,如果需要的话。 Ant它应该考虑第二个div的宽度。因此,如果文本的长度很短,那么两个div应该并排,但如果文本很长,那么第一个将被剪裁,第二个将被一直推到右边。
这是近似的表格布局:
<div id="container">
<div id="row">
<span id="text">Short text</span><span id="value">123</span>
</div>
<div id="row">
<span id="text">A bit longer text</span><span id="value">555</span>
</div>
<div id="row">
<span id="text">A very very very very very very very very long text</span><span id="value">555</span>
</div>
</div>
相应的CSS:
#container {
border: 1px solid #000000;
width: 300px;
}
#row {
display: inline-block;
border: 1px solid #000077;
width: 100%;
clear: both;
}
#text {
display: inline-block;
border: 1px solid #007700;
}
#value {
display: inline-block;
border: 1px solid #770000;
}
这是一个jsfiddle模板,说明了我的需求。 应该剪切一条很长的文本行,并将555放在它旁边的同一行上,这样整个结构就可以适应指定的300px(数字是任意的,它将由现实生活中的其他元素定义,并且事先不知道)。
答案 0 :(得分:1)
您可以使用display: table
(Fiddle):
#container {
display: table;
}
#row {
display: table-row;
}
#text {
display: table-cell;
}
#value {
display: table-cell;
}
答案 1 :(得分:0)
#text {
display: inline-block;
border: 1px solid #007700;
float:left;
min-width:80%;
max-width:80%;
}
#value {
display: inline-block;
border: 1px solid #770000;
float:left;
max-width:18%;
overflow:hidden;
}
答案 2 :(得分:0)
我只是将样式内联,因为你有id="text"
的多个元素。设置max-width
,定义height
,然后将overflow:hidden
设置为floating
,同时将clear-both
设置为<div id="text" style="overflow:hidden; float:left; max-width:270px; height:22px;">A very very very very very very very very long text</div><div style="float:left;" id="value">555</div>
。您可能必须在行之间使用空白{{1}} div。
{{1}}