【问题标题】:Make a Div take up all Available Vertical Space?让一个 Div 占用所有可用的垂直空间?
【发布时间】:2012-09-16 02:25:01
【问题描述】:

我正在尝试做一个如下所示的布局:

顶部和底部都有一个定义的高度,但是我希望中间的两个左/右部分占据所有可用的垂直空间。这是我到目前为止所得到的。

http://jsfiddle.net/xTh5f/2/

我将中间部分精确地设置为 500 像素作为展示,但正如你所见,我还弄乱了中间的右部分和右下部分。

【问题讨论】:

  • 我忘了说,感谢您查看我的问题 :)!
  • 我的小知识从给定的文章中得出:所有父母的身高应该是 100%,孩子的身高也应该是 100%,因为默认情况下任何元素的高度都是“自动”的。 webdesign.about.com/od/csstutorials/f/…

标签: css


【解决方案1】:

你是在说这样的事情吗:

Fullscreen(来源链接如下)

html, body {
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;;
    color: white;
}
#wrapper {
    display: table;
    width: 100%;
    height: 100%;
}
#wrapper > div {
    display: table-row;
}
#wrapper > div > div {
    display: table-cell;
}
#top,
#bottom {
    height: 50px;
}
#wrapper > div > #topleft,
#wrapper > div > #middleleft,
#wrapper > div > #bottomleft {
    width: 300px;
}
#wrapper > div > #middleleft {
    background: #23A9E0;
}
#wrapper > div > #middleright {
    background: #39E023;
}
#wrapper > div > #topright,
#wrapper > div > #bottomright {
    background: #208D11;
}
#wrapper > div > #topleft,
#wrapper > div > #bottomleft {
    background: #092A7C;
}

http://jsfiddle.net/xTh5f/4/

【讨论】:

  • 杰瑞德太棒了。感谢您的帮助!
  • 没问题。请记住,高度在 IE8/7 中分崩离析,因为它并不真正支持 htmlbody 上的 height: 100%(我认为)。您可能必须使用 IE 条件来“修复”它。
【解决方案2】:

给你:http://jsfiddle.net/xTh5f/3/

我的改变:

html, body, #wrapper, #middle, #middleleft, #middleright 被赋予'高度:100%'

接下来,#middleleft 被赋予'float: left',而#middleright 'overflow;隐藏';

请看:http://www.stubbornella.org/content/2009/07/23/overflow-a-secret-benefit/

【讨论】:

  • 感谢 jklm313!不过我想问一下,我注意到中间部分的背景只下降到文本的高度,而右下部分根本没有背景颜色。这只能通过javascript来实现吗?
  • 您的标记中有错字:id="botomright",您漏掉了一个“t”。更新:jsfiddle.net/xTh5f/8 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多