因此,当我注意到一个我不知道其原因的奇怪行为时,我正在检查 css 浮动属性。
这是四个 div 的代码和预览的链接,前两个左右浮动,第三个和前后只是一个普通的 div。
我确实知道第三个 div 会与第二个 div 重叠,但是我不明白为什么第三个 div 的内容会向下移动,它不应该隐藏在第二个 div 后面吗?
PS我知道可以使用第三个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>