2012-09-16 33 views
6

我试图做一个布局,看起来像这样: enter image description here让Div取得所有可用的垂直空间?

无论是顶部和底部有一个定义的高度,但是我想在中间的两个左/右段为占用所有可用的垂直空间。这是我到目前为止。

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

我做中间部分的确切500px的只是作为一个展示,但你可以看到,我也搞砸了中间偏右的部分,右下部分。

+0

我忘了说,谢谢你看我的题 :)! – pufAmuf

+0

我的小知识从给出的文章得出结论:所有父母的身高应该是100%,而且儿童的身高应该是100%,因为默认高度是任何元素的“自动”。 http://webdesign.about.com/od/csstutorials/f/set-css-height-100-percent.htm – owaishanif786

回答

5

你说的是这样的:

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/

+0

这是惊人的杰瑞德。谢谢您的帮助! – pufAmuf

+0

没问题。请记住,在IE8/7中,高度会分崩离析,因为它并不真正支持'html'和'body'上的'height:100%'(我认为*)。您可能必须使用IE条件“修复”该问题。 –

1

在这里你去:http://jsfiddle.net/xTh5f/3/

我的变化:

HTML,身体,#wrapper指定,#middle,#middleleft,#middleright给出 '高度:100%'

接下来,# middleleft被赋予'float:left'和#middleright'溢出;隐';

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

+0

谢谢jklm313!但我想问,我注意到中间部分的背景只下到文本的高度,而右下角的部分根本没有背景颜色。这只能通过javascript来实现吗? – pufAmuf

+1

您的标记中存在拼写错误:id =“botomright”,您错过了't'。更新:http://jsfiddle.net/xTh5f/8/;) – carpenumidium