藉此簡單的例子和打開:HTML/CSS:爲什麼身體不能伸展到其內容?
<html>
<body style="background-image:url(http://upload.wikimedia.org/wikipedia/commons/2/21/Mandel_zoom_00_mandelbrot_set.jpg);background-repeat: no-repeat; background-position: top center;">
<div style="width: 8000px; border: 3px solid red;">Demo</div>
</body>
</html>
的頁面是由使得主體具有頂爲中心的背景圖象和溢出窗口邊界上,所以有水平滾動(如果有一個容納元件顯示器寬度超過8000像素,那麼你真的很酷,請將窗口縮小並刷新)。
問題是由於某種原因,<body>
不能拉伸以包含<div>
。它只是保持與視口相同的寬度,並且<div>
會溢出。這反過來導致背景居中在錯誤的地方並將其裁剪到視口的大小。當你向右滾動時很難看。
我已經找到了解決這個問題的方法,但是我想知道爲什麼這樣呢?它在瀏覽器中似乎也是一致的。但在我看來,這是非常直觀的,基本上很簡單錯誤。容器元素應該足夠大以容納它的孩子 - 除非它們完全被定位,在這種情況下它們不參與佈局計算。
嘿。回到這2年後,我正在尋找你說你找到的同樣的解決方案。 Bobince的答案並沒有幫助,非常多..(浮動唯一的選擇?) – SoreThumb 2012-08-29 04:04:21
我仍然使用浮動。看看這裏:http://www.drowtales.com – 2012-08-29 11:24:25