我想要实现的是所有元素都在同一行,但如果中间的段落比可用空间宽,则text-overflow
启动,但如果没有,那么右边float应该仍然在同一行。
Codepen:http://codepen.io/anon/pen/hHvCA
HTML:
<div id="outer">
<div id="left"></div>
<div id="middle">
<p>Can this paragraph fill the space between the left and right floats without making the right float wrap?</p>
</div>
<div id="right"></div>
</div>
CSS:
#outer {
background-color: #222;
height: 100px;
width: 100%;
}
#left {
background-color: #555;
width: 100px;
height: 100px;
float: left;
}
#right {
background-color: #777;
width: 200px;
height: 100px;
float: right;
}
#middle {
background-color: #999;
height: 100px;
}
#middle > p {
line-height: 100px;
color: #eee;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-family: monospace;
}
答案 0 :(得分:2)
使用
float: left
<#>在#middle上。另外,请尝试设置width
,以避免中间div跨越100%
答案 1 :(得分:1)
正如下面的评论中所讨论的,最好的办法是使用合适的网格系统。 Twitter Bootstrap有两个很棒的选择Default Grid System和Fluid Grid System。此外,您可以从他们的网站打包Bootstrap,只包含您需要的模块。
否则,如果# middle
中的拼写错误已修复,您可以在float: left
上使用#middle
使#right
无法换行。您还需要使用JavaScript根据屏幕大小设置#middle
上的宽度,否则您可能会因文本过长而再次推迟#right
。使用网格系统更容易实现解决方案!
我写了JS来处理window.onload
,你也可以做一个调整大小。
答案 2 :(得分:0)
一种解决方案:
#middle {
background-color: #999;
height: 100px;
float:left;
width:1364px;
}
答案 3 :(得分:0)
尝试将中间div向左浮动。这应该有用。
#middle {
background-color: #999;
height: 100px;
float:left;
}
答案 4 :(得分:0)
在float: left;
#middle > p
#middle > p {
line-height: 100px;
color: #eee;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-family: monospace;
float: left; /* change here */
}
答案 5 :(得分:0)
这是fiddle。看看它,它几乎解决了你的问题。
此外,我建议您使用网格系统,因为它可以帮助您以更轻松的方式使网站变得非常或没有问题!
<强> CSS:强>
#outer {
background-color: #222;
height: 100px;
width: 100%;
}
#left {
background-color: #555;
width: 100px;
height: 100px;
float: left;
}
#right {
background-color: #777;
width: 200px;
height: 100px;
float: right;
margin-top: -100px;
}
#middle {
background-color: #999;
height: 100px;
width: 72%;
float:left;
}
#middle > p {
line-height: 100px;
color: #eee;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-family: monospace;
}
看一下this site,提供10个CSS网格系统! :)