欢迎光临散文网 会员登陆 & 注册

为什么需要清除浮动?清除浮动的方式?

2022-11-30 09:47 作者:网星软件  | 我要投稿

为什么需要清除浮动?清除浮动的方式?

浮动的定义: 非 IE 浏览器下,容器不设高度且子元素浮动时,容器高度不能被内容撑开。 此时,内容会溢出到容器外面而影响布局。这种现象被称为浮动(溢出)。

浮动的工作原理:

1.浮动元素脱离文档流,不占据空间(引起“高度塌陷”现象)

2.浮动元素碰到包含它的边框或者其他浮动元素的边框停留

浮动元素可以左右移动,直到遇到另一个浮动元素或者遇到它外边缘的包含框。浮动框不属于文档流中的普通流,当元素浮动之后,不会影响块级元素的布局,只会影响内联元素布局。此时文档流中的普通流就会表现得该浮动框不存在一样的布局模式。当包含框的高度小于浮动框的时候,此时就会出现“高度塌陷”。

浮动元素引起的问题?

1.父元素的高度无法被撑开,影响与父元素同级的元素

2.与浮动元素同级的非浮动元素会跟随其后

3.若浮动的元素不是第一个元素,则该元素之前的元素也要浮动,否则会影响页面的显示结构

清除浮动的方式如下:

1.给父级 div 定义height属性

2.最后一个浮动元素之后添加一个空的 div 标签,并添加clear:both样式

3.包含浮动元素的父级标签添加overflow:hidden或者overflow:auto

4.使用 :after 伪元素。由于 IE6-7 不支持 :after,使用 zoom:1 触发 hasLayout**


为什么需要清除浮动?清除浮动的方式?的评论 (共 条)

分享到微博请遵守国家法律