我剛剛finsished谷歌的CSS演練內容:http://code.google.com/intl/de-DE/edu/submissions/html-css-javascript/CSS:浮動DIV影響的非浮動的div
與示例文件後試驗(文件:CSS-walkthrough.html),我發現了一些奇怪的行爲,我無法解釋。
我有一個div容器3周的div:
我們有follwing CSS,這使得預期:所有3周的div採取「跳出流程」,並在一行中顯示。內容跨度在divs內。
#wd-c div {
height: 150px;
border: 1px solid #222;
font-size: 150%;
font-weight: bold;
opacity: .7;
}
#wd-c div { width: 150px; }
#wd-C#wd-1 { width: 50px; } /*for clarity*/
#wd-1 { float: left }
#wd-2 { float: left }
#wd-3 { float: left }
然而,當我去掉:
/*#wd-3 { float: left }*/
DIV#WD-1和#WD-2仍呈現 '出來的流的',#WD-3被呈現爲塊元件,重疊其他2.
奇怪的是,內容與字符3跨越,出現在所有div下面,不再是#wd-3裏面。
它看起來好像#wd-3的內容受浮動div影響,這顯然是錯誤的。舉例來說,當我改變的#寬度WD-3
#wd-C#wd-3 { width: 220px; }
字符呈現DIV中,只是重疊浮動DIV#WD-2 ..你有什麼解釋的旁邊?
也許還有另一個明確的:兩個問題。如果您需要浮動,則清除容器或添加清除分區。理想情況下,找到一種不同於浮動的方式。 – 2012-03-20 14:28:28