html - 如何在不垂直滚动标题的情况下使 DIV 成为浏览器的 100% 高度

标签 html css height

左右面板的高度均为 100%,但由于 Header div 占用了 X 的空间,因此我想消除窗口中的一些垂直滚动.

如何删除垂直滚动?

JSFiddle:http://jsfiddle.net/G7unG/1/

CSS 和 HTML

html, body{
  height: 100%;
  margin: 0;
}
.header{
  background: #333;
  padding: 15px;
  text-align:center;
  font-size: 18px;
  font-family: sans-serif;
  color: #FFF;
}
.leftpanel, .rightpanel{
  height: 100%;
}
.leftpanel{
  float: left;
  width: 70%;
  background: #CCC;
}
.rightpanel{
  float: left;
  width: 30%;
  background: #666;
}
<div class="header">Header</div>
<div class="leftpanel">Left Panel</div>
<div class="rightpanel">Right Panel</div>
<div class="clearfix"></div>

最佳答案

这是一个使用 flexbox 的现代解决方案。无论标题的高度如何,其余元素都将垂直拉伸(stretch)以填充剩余空间。这是 fiddle :http://jsfiddle.net/mggLY/1/ .

HTML:

<div id = "wrapper">
    <div class="header">Header</div>
    <div>
        <div class="leftpanel">Left Panel</div>
        <div class="rightpanel">Right Panel</div>
    </div>
</div>

CSS:

* {
    margin: 0;
    padding: 0;
    border: 0;
}

html, body {
    height: 100%;
}

.header{
    background: #333;
    padding: 15px;
    text-align:center;
    font-size: 18px;
    font-family: sans-serif;
    color: #fff;
}

.leftpanel{
    background: #CCC;
}

.rightpanel{
    background: #666;
}

#wrapper {
    height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    outline: 1px solid red;
}

#wrapper > .header {
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
}

#wrapper > .header + div {
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
}

#wrapper > .header + div > div:first-of-type {
    -webkit-flex: 7 0 0;
    flex: 7 0 0;
}

#wrapper > .header + div > div:last-of-type {
    -webkit-flex: 3 0 0;
    flex: 3 0 0;
}

关于html - 如何在不垂直滚动标题的情况下使 DIV 成为浏览器的 100% 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461067/

相关文章:

html - GEdit - 突出显示开始标记 - 所选 HTML 的结束标记?

html - 仅当 View 响应移动尺寸时显示按钮

html - 如何在不使用javascript的情况下使图像适合div

javascript - 附加 html 字符串时,IE 从维度中删除 "%"

html - 垂直对齐 CSS 内容图标与换行文本

java - 不使用 SurfaceHolder 获取屏幕宽度

javascript - 在移动设备的容器中点击时在随机位置显示单词

html - YouTube 嵌入视频播放器尺寸仍然太小

javascript - 使用按钮显示一些文本 - JavaScript

html - 如何处理在 ASP.NET MVC 中返回文件的 Controller 结果