overflow:hidden的问题?

<html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>无... <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是给父级元素清除浮动的,但现在是应用在了同级元素上,不是父级元素。原理是什么,请高人回答。
展开
 我来答
55starting
2013-04-19 · TA获得超过489个赞
知道答主
回答量:137
采纳率:0%
帮助的人:105万
展开全部
第一个div设置了浮动,那么这个div就不在正常的层中了,那么你的第二个div在放置的时候相当于第一个div根本就不存在的,所以会放置在最左边。除非你设置了overflow属性,这样就会把浮动的div位置给让出来放置第二个div,或者使用claear:both,
追问
"这样就会把浮动的div位置给让出来放置第二个div"这句话不对吧!浮动的div位置没让出来,是第二个div自己跑出来了。为什么?
追答
overflow属性的作用就是在前边浮动元素位置的后面放置自己,就是把第一个div的位置给让出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式