我試圖設計一個相對定位的div
,這反過來將包括兩個div
s。孩子div
都沒有一個固定的高度,但它們隨着內容的不同而不同,所以父母div
隨着孩子div的高度擴大。現在設計工作正常,但是當我使用Firebug分析代碼時,我發現在螢火蟲上的標籤上徘徊時,只有整個屏幕的一小部分顯示爲主體。側面板證實了它,身體的寬度是好的,但高度爲0.這意味着父div
的高度爲0,但Firebug告訴我它不是,它是大約560px。這怎麼可能?我知道,如果內容絕對定位,元素不會隨其內容而擴展,但此處兒童div
s是相對定位的,那爲什麼父母沒有擴展其內容?小提琴在http://jsfiddle.net/Cupidvogel/y79NS/6/。釷截圖(請放大瞭解我的觀點是,當我嘗試代碼爲Firefox中一個完整的HTML頁面!):身體不擴大,包括相對定位的元素
2
A
回答
1
這裏發生的事情是普通的瀏覽器行爲,你浮動的div,所以沒有在'正常'流程,因爲浮動屬性。 所以身體是身高0,因爲身體不能計算'不在那裏'的元素的高度。
將div class =「clear」移出div class =「main」並刪除浮動屬性以及div class =「clear」,問題解決了。
3
在你的CSS,div.clear
- 你正在使用,以試圖清除漂浮物 - 本身漂浮在左邊。這意味着它不是文檔流程的一部分,因此無法清除任何內容。
刪除float
的伎倆:
.clear { width: 400px; clear: both; position: relative; }
另外,如果你想div.clear
被浮動出於某種原因,there are a wide variety of other ways to clear your floats。
編輯:div.main
有520px的高度,因爲它是浮動和浮動的元素「咬合」他們的孩子的維度。如果你將body
左移(請不要;這不是一個好主意),它也會「抓住」它的孩子的尺寸,並具有520px的設置高度。
相關問題
- 1. CSS位置絕對 - 下一個定位元素是身體?
- 2. 絕對覆蓋div元素不覆蓋相對定位元素
- 3. 即使父元素相對定位,是否可以將元素相對於主體進行絕對定位?
- 4. 相對定位元素內絕對位置元素頁面
- 5. 有絕對定位時移動的身體元素
- 6. 放包括身體
- 7. 定位iframe元素相對於對象
- 8. 相對定位粘貼(固定)元素
- 9. 相對元素的CSS動態定位
- 10. 相對定位元素的Z-index?
- 11. css,相對定位元素內的絕對定位元素凌亂
- 12. 相對大小的表格元素的定位(IE bug?)
- 13. 檢索元素的「outerxml」(如innerxml,但包括元素本身)
- 14. 對於'列表'中的'元素'(但不包括元素X)
- 15. 相對於包裝div的位置固定元素HTML CSS
- 16. 子元素不擴大HTML體或父元素
- 17. 定位div元素相對於圖像
- 18. 獲取元素相對於其父元素的相對位置
- 19. 如何定位精靈相對於身體的位置
- 20. ng重複相對位置元素的大小不正確
- 21. 使用jQuery將元素相對於不是父級的元素相對於另一個元素定位
- 22. 元素與絕對位置相對被放置到非定位的父元素
- 23. CSS目標元素,包括體類
- 24. 容器DIV沒有擴大到包括具有絕對定位的DIV
- 25. 鎖定元素相對於另一個元素的位置
- 26. 相對於其朋友元素的定位元素
- 27. 爲什麼相對定位的元素忽略浮動元素
- 28. 的Javascript使用appendChild不包括車身/ head元素
- 29. 彼此相鄰的定位元素(不同大小)
- 30. 哪個位置是絕對定位的元素,相對於其絕對定位的父元素?
的''.main'是div'給予正確的高度,但身體所賜的0 – SexyBeast 2012-08-03 13:23:32
的高度是啊,對不起,我沒有密切足夠注意的問題並認爲這個問題與你的外部'div'而不是'body'有關。我確實在body元素上看到了相同的效果。確切地說, – JAB 2012-08-03 13:24:44
。這怎麼可能? – SexyBeast 2012-08-03 13:26:59