【发布时间】:2012-05-23 22:12:52
【问题描述】:
我有一个问题,正如我在标题中描述的那样。 我有菜单,我在里面使用 float:left 作为 div。菜单框包含搜索框,当我调整页面大小时,当网站宽度太小时我不希望搜索框跳到下一行,我想“剪切/隐藏”这部分搜索框。
我尝试过使用 inline-block、position:absolute、overflow:hidden,但没有任何效果。
示例(我希望这个绿色框留在第一行,并且我不想因为隐藏元素而有水平滚动条,我也希望“内容”能够调整大小,即使我们通过了大小限制,这保证显示每个菜单项):
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<style>
html, body {width:100%}
#header { width: 100%; height: 50px; }
#menu_box { width: 100%; height: 50px; background: red; }
.menu_item { background: green; width: 100px; height: 25px; float: left; }
#content{ width: 100%; height: 100%; text-align: center; }
</style>
</head>
<body>
<div id="header">
<div id="menu_box">
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
</div>
</div>
<div id="content">
text which align is center
</div>
</body>
</html>
EDIT2,现在你应该明白我的意思了,在这种情况下它不能正常工作,溢出:隐藏什么都不做(这是我尝试过的第一件事)。看内容。为了避免问题:是的,我需要使用 css 表。
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<style>
html, body {width:100%}
#header { display: table-cell; width: 100%; height: 50px; }
#menu_box { width: 800px; height: 50px; background: red; overflow: hidden; }
.menu_item { background: green; width: 100px; height: 25px; float: left;}
#content{ display:table-cell; width: 100%; height: 100%; text-align: center; }
.row { display: table-row; width: 100%; }
#table {
width: 100%;
height: 100%;
border-collapse: collapse;
}
</style>
</head>
<body>
<div id="table">
<div class="row">
<div id="header">
<div id="menu_box">
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
<div class="menu_item">sd</div>
</div>
</div>
</div>
<div class="row">
<div id="content">
LOOK AT THIS (when width of menu_box is constant and when isn't)<br>Try to resize this site
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
标签: html positioning css-float