0

我正在尝试构建一个消耗浏览器中所有可见空间的布局。我html, body height 100%按照不同 SO 帖子中的建议进行设置。以下是我正在尝试的标记

<div>
  <div class="header">
  </div>
  <div class="main">
    <div class="container">
        <div class="content"></div>
    </div>
  </div>
</div>

CSS:

html, body {
  height: 100%;
  max-height: 100%;
}
.header {
  height: 30px;
  background-color: #000;
}
.main {
  height: auto;
  padding-right: 0px;
  max-height: 100%;
  width: 100%;
  display: block;
  clear: both;
  background-color: #eee;
}

.container {
  width: 90%;
  overflow-y: scroll; 
  background-color: #ccc;
}
.content {    
  height: 2000px;
  width: 80%;
  background-color: #fff;
}

内容 div 的高度会导致整个主体变大,因此会显示浏览器的默认滚动条。尽管我已将容器 div 设置为滚动以显示内容 div 的内容,但容器 div 的滚动条仍然不显示。我怎样才能解决这个问题。

这是jsfiddle

4

1 回答 1

2

编辑:

默认情况下heightdiv 元素的 取决于它的内容(不像width它占用父元素的 100% 宽度)。这就是为什么当您将内部元素的高度指定为百分比时,如果您的父标签没有明确定义的高度(这意味着必须将高度定义到 DOM 的最顶部,因为高度不可继承),那么它将不准确.

在您的情况下,您需要向 您的,和包装器添加height: 100%;或任何其他高度.container.maindiv

修改过的小提琴

于 2013-03-02T13:38:57.867 回答