2010-03-15 50 views
1

我想要什麼:如何製作可收縮滾動條?

<div style="overflow:scroll;width:100%;height:50%;"> &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 

<div style="overflow:scroll;width:100%;HEIGHT:50%;"> &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 

注意如何,如果我縮小窗口滾動條萎縮的高度。這是我想要的功能。

問題:
我想做出類似上面的東西,只有100個像素的頂級股利一個固定的高度。

如果我在實踐中這樣做,底部滾動條不再縮小,因爲我縮小了頁面 - 系統添加了一個外部滾動條來管理這兩個部分。我不想要這個,我想保留上面看到的行爲。

我該怎麼做?

回答

0

我找到了答案。我需要使用css表達式

 <div style="overflow:scroll;width:100%;height:100px"> &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 

<div style="overflow:scroll;width:100%;height:expression((document.body.clientHeight - 120) + 'px');"> &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 
0

我並不完全確定自己是否正確理解了你,但是在我看來,就像你試圖將相對和像素值組合在一起,這從來不會起作用。

這是我能看到做到這一點的唯一途徑。它絕對地定位元素。

<div style="position: absolute; 
       left: 0px; top: 0px; height: 100px; 
       overflow:scroll;right: 0px;"> 
    &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 

<div style="position: absolute; 
      left: 0px; top: 100px; 
      bottom: 0px; right: 0px; 
      overflow:scroll;"> 
    &nbsp; 
    <div style="height:500px;width:400px;border:solid 3px red;"> 
     </div> 
     </div> 
+0

這會創建一個額外的外滾動條。 在我的第一個例子中,當窗口縮小時,滾動條展開和縮小。這是因爲它們是百分比而不是固定寬度。 我想要做的是在窗口高度縮小時保持行爲,但當窗口高度擴大時,保持頂部div的最大高度。 在你的例子中,如果窗口高度收縮得太多,會出現一個新的第三個滾動條。用戶抱怨他們有多個垂直滾動條來應對,而這正是我想要避免的。 – diadem 2010-03-16 13:52:49

+0

@diadem我明白了。我不確定這是可能的。你可以嘗試的是使用100%寬度和高度的表格寬度,兩行和每個單元格,頂部單元格具有「max-height:100px」屬性。 – 2010-03-16 14:57:08

+0

@diadem如果在你的情況下可用(通常不會),你可以在'body'上使用'overflow:hidden'來擺脫額外的滾動條。 – 2010-03-16 16:05:22