2013-10-24 56 views
1

我已经搜索并尝试了一堆不同的东西。我有一个可变高度 tophalf,下半部分应填满剩余的空间。一个的jsfiddle:如何让页面的下半部分占用剩余高度?

http://jsfiddle.net/UCJmQ/

CSS:

.top { 
    background-color: lightblue; 
    height: 300px; 
} 
.bottom { 
    background-color: green; 
    min-height: 100px; 
    overflow: hidden; 
    height: 100%; 
} 

html, body { 
    height: 100%; 
} 

HTML:

<div class="top"></div> 
<div class="bottom"> 

</div> 

什么我现在看到的是绿色的页面占用整个窗口的高度,而不是剩余高度。我怎样才能使剩余的高度呢?

回答

2

http://jsfiddle.net/ph35V/

<div class="wrapper"> 
    <div class="top"> 
     300px 
    </div> 
    <div class="bottom"> 
     Remaining height 
    </div> 
</div> 

html, body { 
    height: 100%; 
    width: 100%; 
    margin: 0; 
} 
.wrapper { 
    display: table; 
    height: 100%; 
    width: 100%; 
} 
.top { 
    display: table-row; 
    background: lightblue; 
    height: 300px; 
} 
.bottom { 
    display: table-row; 
    height: 100%; 
    background: green; 
} 

也可以使用box-sizing: border-boxconflicting absolute positions

+0

感谢。如果下半部分的内容也是可变的高度呢?如何解释下半部分由于溢出而可能提供超过100%的空间的可能性? – RobVious

+0

将会有一个滚动条http://jsfiddle.net/ph35V/1/ – Evgeny

0

那是高度可变在CSS或没有指定?

从小提琴我假设它。如果是这样的情况下,尝试用position: absolute一套left, bottom, right0top到上格高度:

DEMO