左に 4 つのdiv
要素が浮かんでいます。3つ目div
はクリア。
Firefox と Chrome では、要素は期待どおりに配置されます。1 番目と 2 番目div
の は互いに隣接しており、3 番目と 4 番目div
の も互いに隣接しています。
一方、IE7 は 4 番目を 1 番目と 2 番目の s にdiv
隣接させ、3 番目を下に配置します。div
div
br
2 番目の後に要素を追加することで修正できることはわかってdiv
いますが、必要がなければマークアップを編集したくありません。問題を解決するよりエレガントな方法はありますか?
私はしばらくの間、修正を求めて Google を試してきましたが、問題がどれほど初歩的なものに見えるかを考えると、驚くべきことに見つかりませんでした。このような単純な CSS の問題を一覧表示している参照サイトはありますか、それとも基本的な CSS について無知なだけですか?
編集: Nazgulled が問題を「解決」した後、サンプル コードを少し複雑にしました (コメントを参照)。3 つではなく4 つdiv
の sがありdiv
、2 つ目の代わりに 3 つ目がクリアされます。
完全なソースコードは次のとおりです。
<!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>