所以我正在檢查CSS浮動屬性,當我注意到一個奇怪的行爲,我不知道它的原因。CSS浮動屬性意外行爲
這是a link代碼和四個div的預覽,前兩個浮動右和左,第三和第四隻是一個普通的div。
我知道第三個div會被第二個div重疊,但是我不明白爲什麼第三個div的內容會向下移動,它不應該隱藏在第二個div的後面嗎?
P.S我知道問題可以使用第三個div的clear屬性來解決,但是我更關心這種行爲背後的原因。
代碼:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
aside, article, section, header, footer, nav {
display: block;
}
html, body {
margin: 0;
padding: 0;
}
html {
background: #ccc;
}
body {
width: 600px;
background: #fff;
margin: 2em auto 2em;
font: 100% Arial, Helvetica, sans-serif;
}
div {
margin-bottom: 1em;
margin-right: 2em;
width: 85px;
height: 50px;
border: 1px solid #000;
padding: 25px;
}
/*add styles here*/
.element1 {
background: rgb(26, 78, 175);
float:right;
color:white;
}
.element2 {
background: rgb(85, 66, 54);
float:left;
color:white;
}
.element3 {
background: rgb(247,120,37);
}
.element4 {
background: rgb(211, 206, 61);
}
?
</style>
</head>
<body>
<div class="element1">Element 1 floated right</div>
<div class="element2">Element 2 floated left</div>
<div class="element3">Element 3 normal flow</div>
<div class="element4">Element 4 normal flow</div>
</body>
</html>
他說他對FLOAT行爲很感興趣,他知道如何解決這個問題。請再讀一遍他的問題。 – 2012-09-16 20:54:51
@VictorBarbu我在W3C的Visual形式模型文檔中找到了對該行爲的解釋。 如果有興趣可以閱讀更多[這裏](http://stackoverflow.com/a/12454170/910730) –