2011-09-13 40 views
0

我有一個div可以滾動的內容,但它是至關重要的,這是相對定位相對36px的頁邊距從瀏覽器的頂部,或絕對定位從頂部。定位的div,滾動條瀏覽器視口

div填充瀏覽器視口的高度也很重要。

我的問題是,div的滾動條的底部不能被看到,因爲它是36px推下來。內容也被推下,但我已經能夠通過在底部添加填充來解決這個問題。這發生在所有瀏覽器上。有沒有一種方法,我可以讓這個div有一個適合瀏覽器視口的滾動條,它考慮了div頂部的邊距?

結果是相同的,如果我絕對或相對定位div與margin-top:36px;

爲這個div的CSS如下:

div.#panel1 { 
    position: absolute; 
    top: 36px; 
    right: 0; 
    overflow: auto; 
    background: #636362; 
    padding: 0 0 20px 0px; 
    width: 290px; 
    height: 100%; 
} 

此外,我發現在IE 7很慢生澀滾動體驗這個div,但瀏覽器的滾動條是罰款?有我應該知道的錯誤嗎?

回答

2

您可以同時設置topbottom定位絕對的東西時:http://jsfiddle.net/kizu/xSgTW/

所以,如果你不設置height並設置

top: 36px; 
bottom: 0; 

然後div的頂線將是對36px和底部,在底部。

關於滾動:在IE中可能會有很多影響滾動速度的事情,但是AFAIR與overflow: auto的滾動塊的滾動總是比滾動body慢。

+0

天才!非常感謝你:) – melon

+0

原因是在IE7中滾動緩慢的原因是div的位置是固定的,絕對定位工作正常,但當然現在當你滾動實際的網頁時,div不會擴展到IE中網頁的高度。 – melon