【发布时间】:2017-11-21 16:49:34
【问题描述】:
我有这样的标记:
<html>
<body>
<div class="page">
<div class="top_menu">
some text
</div>
<div class='header'>
menu
</div>
<div class="main">
<div class="left_sidebar">
left
</div>
<div class="content">
left
</div>
<div class="right_sidebar">
right
</div>
</div><!-- main div -->
</div> <!-- page div -->
</body>
</html>
我需要将块 .main 设置为 100% 页面高度,这是我的 css:
html {
height: 100%;
}
body {
height: 100%;
min-height: 100%;
margin: 0;
padding: 0;
}
.page {
height: 100%;
min-height: 100%;
background-color: white;
margin: 0 auto;
padding: 0;
width: 1084px;
}
.main {
width: 1084px;
height: 100%; // not working
}
.left_sidebar {
float: left;
max-width: 197px;
height: auto;
}
.content {
width: 517px;
float: left;
}
.right_sidebar {
width: 359px;
float: right;
}
现在.main 中的文本显示在块之外,在 Chrome 中我可以看到这个块的宽度是 1084,但高度是 0。我知道这个问题可能已经被问过了,但我想我错过了一些东西。
通过互联网搜索尝试了this 解决方案,对我不起作用
【问题讨论】:
-
为什么使用相同值的最小高度和高度?
-
我只是看到你在 class="main" 中漏掉了一个 "
-
只是尝试了不同的选项,其中的示例可以在互联网上找到,我并没有错过
"编辑 -
这将帮助您修复它...stackoverflow.com/questions/1622027/…
-
我在下面编辑了我的答案,包括对所有现代浏览器的修复。 Michal 的解决方案存在严重缺陷,当内容达到容器的限制时,它将被隐藏。我给出的(完全 CSS)解决方案将根据需要滚动,但在不应该显示滚动条时不显示。