2012-03-12 65 views
0

我遇到了這樣的問題:當頁面沒有完全看到時,div沒有縮放整個頁面,即滾動條出現在底部。當滾動條出現時HTML/CSS在整個網站上縮放div

秤罰款:

enter image description here

看到時不判罰尺度部分太小:

enter image description here

如何這個問題能解決?這裏的小提琴:http://jsfiddle.net/gdztn/29/

澄清:內的div 必須始終是800像素寬,而的outter DIV應該在擴展的整個寬度的頁面。正如您在第二張圖片中看到的,當滾動條出現時,外部div未到達頁面的右端。

謝謝!

+0

我很困惑你正在努力完成什麼。你只是想'#head div:first-child'永遠填滿視口的全部寬度嗎?如果是這樣,爲'#head div:first-child'設置'width:100%'就像這樣:http://jsfiddle.net/gdztn/35/ – cmw 2012-03-12 19:55:53

+0

滾動條出現因爲你有div:第一個孩子的寬度設置爲固定800px。將其更改爲%,以免看到滾動條。 – 2012-03-12 19:57:54

+0

或者,如果您希望'#head'始終爲800px寬,並且爲其子元素'div'元素填充完整寬度,請將'#head'的'width'屬性更改爲800px,並將子div的width屬性更改爲100 %:http://jsfiddle.net/gdztn/36/ – cmw 2012-03-12 19:58:18

回答

1

問題是,#head寬度是100%,內部div具有固定寬度。如果你縮小頁面,它仍然是100%,但比內部div小。就像擁有一個較小的容器和一個溢出的超大內容。

來解決這個問題,你應該設置#headmin-width,以防止它收縮比內DIV較小,像min-width: 850px

http://jsfiddle.net/gdztn/43/

編輯:也#head刪除position:absolute。如果實際上需要絕對,然後添加width:100%

+0

這是大部分的途徑。不過設置'min-width'會導致'#head'不能跨越整個寬度,除非它<= 850px。爲了解決這個問題,在定義min-width之後,將'width:100%'添加到'#head'。 http://jsfiddle.net/gdztn/42/ – cmw 2012-03-12 21:34:28

+0

'#head'將始終爲100%,因爲'min-width'只是設置最小寬度而不是寬度本身。另外,'div'元素是塊級元素。除非它們浮動,給定寬度或從流中取出(絕對位置/固定位置),否則它們始終是100% – Joseph 2012-03-12 22:12:35

+1

這看起來對絕對定位的div不是真的,就像在這個例子中,包括在jsfiddle中提供。拉伸框架向左擴大「結果」面板,你會看到'#頭部'不會增長超過850px,除非被告知這樣做。 – cmw 2012-03-12 22:21:44