float一点小疑问 浮动也会有层级?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
body,div,a{
margin:0;padding:0;
}
/* 清理浮动 */
.fn-clear:after {
    visibility:hidden;
    display:block;
    font-size:0;
    content:" ";
    clear:both;
    height:0;
}
.fn-clear {
    zoom:1; /* for IE6 IE7 */
}
.m{
	width:780px;
	padding-left:400px;
	margin:0 auto;
}
.l{
	float:left;
	background:#ccc;
	width:400px;
	height:400px;
	margin-left:-400px;
}
.r{
	width:780px;
	background:red;
}
.r .d{
	width:1080px;
	margin-left:-300px;
}
.r .d a{
	float:left;
	width:100px; height:100px;
	margin:10px 0 0 10px;
	background:green;
}
</style>
</head>
<body>
	<div class="m">
		<div class="l">
		</div>
		<div class="r">
			<div class="d fn-clear">
				<a href=""></a>
				<a href=""></a>
				<a href=""></a>
				<a href=""></a>
				<a href=""></a>
				<a href=""></a>
				<a href=""></a>
			</div>
		</div>
	</div>
</body>
</html>

ie&ie9&chrome

FF



ie7



从现象看出ie7 class为r的部分没有继承父框的高度,其他浏览器都继承了。

ie8&ie9&chrome浮动元素会排同一浮动层级的元素旁边。

FF的浮动元素则根据层级来显示。

这里的浮动层级是我创造的名词。大概的意思是父元素浮动子元素浮动层级+1;

就是如果父元素没浮动,子元素浮动的话,也只能浮动在父元素同级浮动元素的旁边。

FF则是子元素可以浮动到父元素同级的浮动元素上层。   这真神奇。


不知道还有没有其他解释。希望有人能看到这篇文章。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值