61,114
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div style="border:solid 1px #006600; width:300px; height:300px; float:left;"></div>
<div style="border:solid 1px #006600; width:200px; height:200px; background-color:#060"></div>
</body>
</html>
这段代码相信大家都能看得懂。之后我再第二个div里面加入了overflow:hidden属性。就成了下面这样了,为什么?<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div style="border:solid 1px #006600; width:300px; height:300px; float:left;"></div>
<div style="border:solid 1px #006600; width:200px; height:200px; background-color:#060; overflow:hidden"></div>
</body>
</html>
我知道overflow:hidden是父级元素用来清除浮动的,使得视觉上面没有浮动的父级元素自动扩大,包含浮动的子元素。但是我现在没有编写父级元素,而是两个同级元素div,并且在第二个div上设置了overflow:hidden属性。为什么第二个div就逃离了第一个浮动div的覆盖范围,并且紧紧贴着第一个浮动div。就仿佛第二个div也设置了float:left属性一样。按理说它俩的位置不会有什么变化才对啊?因为overflow:hidden是给父级元素清除浮动的,但现在是应用在了同级元素上,不是父级元素。原理是什么,请高人回答。