我有四個div
元素漂浮在左邊。第三個div
已清除。
在Firefox和Chrome中,元素按預期定位:第一個和第二個div
彼此相鄰,並且高於彼此相鄰的第三個和第四個div
。
IE7另一方面將第四個div
放置在第一個和第二個div
的旁邊,第三個div
放在下面。如何修復IE中這個簡單的CSS浮動問題?
我知道我可以通過在第二個div
之後添加一個br
元素來解決這個問題,但是如果我不必這樣做,我寧願不編輯標記。有沒有更好的解決問題的方法?
我一直在嘗試谷歌修復一段時間,但還沒有找到一個,考慮到這個問題的基本原理,這是相當令人驚訝的。也許我錯過了一些顯而易見的東西,有沒有一個參考網站列出了像這樣的簡單CSS問題,或者我對基本CSS一無所知?
編輯:在Nazgulled「解決」了問題後,我已經使示例代碼稍微複雜一些(請參閱註釋)。現在有四個div
而不是三個,第三個div
被清除而不是第二個。
下面是完整的源代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>IE Float Test</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<style type="text/css">
div
{
width: 100px;
height: 100px;
color: white;
font-size: 3em;
float: left;
}
#divone
{
background-color: red;
}
#divtwo
{
background-color: blue;
}
#divthree
{
background-color: green;
clear: both;
}
#divfour
{
background-color: purple;
}
</style>
</head>
<body>
<div id="divone">one</div>
<div id="divtwo">two</div>
<div id="divthree">three</div>
<div id="divfour">four</div>
</body>
</html>
這裏是什麼樣子的Chrome:
Chrome sample http://img301.imageshack.us/img301/3135/chromev2tp4.png
這裏是什麼樣子的IE7:
IE Sample http://img111.imageshack.us/img111/8195/ie7v2cg3.png
display:inline;應該爲IE6工作 – GregD 2009-01-25 04:41:45
儘量避免有條件的評論。 – Soviut 2009-01-25 04:41:50
我剛試過。 display:inline-block在IE7 – brianpeiris 2009-01-25 04:52:17