请看下面代码:
答案如下:
<div class="one"></div> <div class="two"></div> <div class="three"></div>
如何在不改变上述代码、不使用绝对定位和相对定位的情况下,实现如下效果图:
![关于浮动元素的经典考题 - 1041796678 - 鬼眼邪神 关于浮动元素的经典考题 - 1041796678 - 鬼眼邪神](http://img2.ph.126.net/AVGRioi8FqOJ5iM65KYnkQ==/2055048805064582579.jpg)
答案如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>HTML5</title>
<style>
* {margin:0;padding:0;}
.one {
width:200px;
height:200px;
background:red;
float:left;
}
.two {
background:blue;
clear:left;
float:left;
width:200px;
height:200px;
margin-top:10px;
}
.three {
width:200px;
height:410px;
background:green;
margin-left:210px;
_margin-left:207px;
}
</style>
</head>
<body>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
</body>
</html>
第一个div左浮动,第二个div先清浮动再左浮动。由于在IE6中浮动元素和非浮动元素在同一行时会增加3px的间距,这个时候就要用到hack技术,给第三个div设置CSS声明_margin-left:207px;