2011-04-17 157 views
0

我環顧四周,還沒有找到我正在尋找的QUITE,所以希望這個問題還沒有在其他地方得到解答!100%高度和寬度,CSS和動態內容

無論如何,有問題的佈局可以找到HERE。我試圖實現的是固定寬度的左列和流體寬度內容區域。大多數情況下,它工作得很好。但是,當內容擴展超出瀏覽器窗口的高度或寬度時,這些部分似乎不會像我想要的那樣展開。請注意,如何在頂部的灰色條不會到達頁面內容的右側,並且左側列的高度也不會到達頁面內容的底部。

我是否認爲這源於通過CSS將事物設置爲100%高度或100%寬度的事實是靜態的?即無論調用CSS時瀏覽器窗口的高度/寬度是否已保存,那就是?

如果是這樣的話,也許我需要查看一些其他方法來設置我的元素的高度和寬度。有任何想法嗎?另外請注意,頁面中的虛擬內容現在是一個圖像。我想模糊名稱等來保持數據的私密性。

感謝您的幫助!

回答

1

這樣的事情如何...

儘管左列將只有儘可能正確的內容。如果你希望它擴展到視口的高度時,有沒有足夠的內容來填補你需要一些JavaScript或你將不得不使用重複的背景,填補html

演示:http://jsfiddle.net/wdm954/KyUfN/

<div id="wrapper"> 
    <div id="left">left</div> 
    <div id="right">  
     <div id="content"> 
     <div id="top">top</div> 
      content 
     </div> 
    </div> 
</div> 

CSS ...

/* clearfix */ 
#wrapper:after, #right:after { 
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden; 
    font-size: 0; 
} 

#wrapper, #right { 
    display: inline-block; 
} 

#wrapper, #right { 
    display: block; 
    -height: 1px; 
} 
/* end clearfix */ 

#wrapper { 
    background-color: #000000; 
} 

#left { 
    float: left; 
    width: 300px; 
    color: #FFF; 
} 

#right { 
    margin-left: 300px; 
} 

#top { 
    height: 100px; 
    background-color: #DEDEDE; 
    border-bottom: 1px solid #B8B8B8; 
} 

#content { 
    background-color: #F4EBEB; 
    height: 600px; 
    width: 1200px; 
} 
+0

對不起,大的延遲,但謝謝你的迴應。雖然我最終完全改變了自己的結構(從而消除了最初的問題),但您的解決方案指出了我的正確方向。 – 2011-06-28 22:55:53

0

如果背景是主要的問題,你可以樣式的包裝。這就是我最終爲一個不守規矩的邊欄而做的事情,因爲我不想求助於JS,而其他解決方案對我不起作用。在我的情況下,側邊欄的問題來自jQuery標籤,這是主題的一部分。當我切換到標籤頁時,側邊欄不會延伸到全高,所以背景也不會。

HTML

<div id="wrapper" class="sidebar-right"> 
    <div id="maincontent"> 
    #content 
    </div> 
    <div id="sidebar-right"> 
    #sidebar content 
    </div> 
</div> 

CSS (這個假定960網格280像素邊欄)

#wrapper.sidebar-right{ 
    background: white url('images/bg.png'); 
    background-repeat: repeat-y; /*repeats down the length of the page*/ 
    background-position: 680px 0px; /*moves it into place*/ 
    } 

如果你有不同的側邊欄,或全寬度的佈局,更改背景圖片/相應的位置和風格。希望能幫助別人。