在这个例子中如何隐藏溢出?
您可以在这里看到小提琴: http://jsfiddle.net/easeS/4/
这是我有 html/css:
#main div
{
float:left;
width:30px;
margin-right:10px;
}
#main
{
overflow:hidden;
width:100px;
height:50px;
border:1px solid;
}
<div id="main">
<div>test1</div>
<div>test2</div>
<div>test3</div>
</div>
我不知道为什么,但它会将第三个 div 向下移动到新行而不是隐藏它。有什么建议吗?
You can see the fiddle here: http://jsfiddle.net/easeS/4/
Here is the html/css I have:
#main div
{
float:left;
width:30px;
margin-right:10px;
}
#main
{
overflow:hidden;
width:100px;
height:50px;
border:1px solid;
}
<div id="main">
<div>test1</div>
<div>test2</div>
<div>test3</div>
</div>
I'm not sure why but it bumps the third div down to a new line instead of hiding it. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
第三个 div 向下碰撞,因为没有足够的空间让它浮动。
您的 3 个 div 加起来(包括边距)等于 120px;
包装器 (#main) 为 100px。
因此,将第三个 div 降低。
如果我正确理解你的问题...
您想要做的是将其隐藏在第三个 div 中,为此,您需要:
添加另一个包装 div 并给它更大的宽度。看看我的这里的示例
The 3rd div bumps down because there's not enough space for it to float.
Your 3 divs added up together (inc. margin) is equals to 120px;
The wrapper (#main) is 100px.
Therefore bumping the 3rd div down.
If I understood your question correctly...
What you want to do is hide it the 3rd div, for you to do this, you'd need to:
Add another wrapper div and give it a bigger width. Have a look at my example here
不需要添加额外的包装 div...
试试这个:
只需将浮动规则更改为在 div 上显示:内联,并将空白:nowrap 添加到#main。
No need to add extra wrapping divs...
Try this instead:
Just changed the float rule to display: inline on the divs and added white-space: nowrap to #main.
这是因为
div#main
中的div
仅限于div#main
样式中指定的尺寸。为了漂浮到无限远甚至更远,它们需要有一个漂浮的空间。您可以将 div 包裹在高度非常高的容器中。尝试使用此演示。
Is because your
div
s in yourdiv#main
are confined only to those dimensions specified in the style ofdiv#main
. To float to infinity and beyond, they need to have a space where to float. You can wrap your divs in a container with a very high height.Try with this demo.