继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习分享】clearfix 有时候可能会用到清除浮动的方法

启迹
关注TA
已关注
手记 1
粉丝 1
获赞 62
图片描述
【前言】玩转CSS,为何要清除浮动?

要解答这个问题,我们得先说说CSS中的定位机制:普通流,浮动,绝对定位 (其中"position:fixed" 是 "position:absolute" 的一个子类)。

1)普通流:很多人或者文章称之为文档流或者普通文档流,其实标准里根本就没有这个词。如果把文档流直译为英文就是 document flow ,但标准里只有另一个词,叫做 普通流 (normal flow),或者称之为常规流。但似乎大家更习惯文档流的称呼,因为很多中文翻译的书就是这么来的。比如《CSS Mastery》,英文原书中至始至终都只有普通流 normal flow(普通流) 这一词,从来没出现过document flow (文档流)

2)浮动:浮动的框可以左右移动,直至它的外边缘遇到包含框或者另一个浮动框的边缘。浮动框不属于文档中的普通流,当一个元素浮动之后,不会影响到 块级框的布局而只会影响内联框(通常是文本)的排列,文档中的普通流就会表现得和浮动框不存在一样,当浮动框高度超出包含框的时候,也就会出现包含框不会 自动伸高来闭合浮动元素(“高度塌陷”现象)。顾名思义,就是漂浮于普通流之上,像浮云一样,但是只能左右浮动。

正是因为浮动的这种特性,导致本属于普通流中的元素浮动之后,包含框内部由于不存在其他普通流元素了,也就表现出高度为0(高度塌陷)。在实际布局中,往往这并不是我们所希望的,所以需要闭合浮动元素,使其包含框表现出正常的高度。


如何清除浮动

在这里,给大家分享一点我认为clearfix 有时候可能会用到清除浮动的方法:(欢迎互相指教)

<br class="clearfix">
.clearfix{display:block;clear:both;font-size:0;height:0;}

加上“font-size:0;height:0;”可以兼容老版浏览器。

不鼓励用hr,如果非要用的话

hr.clearfix{
display:block;
clear:left;
font-size:0;
height:0;
visibility:hidden;
margin:-0.66em 0;
}

以上也算个人学习笔记分享,欢迎大家评论!

打开App,阅读手记
8人推荐
发表评论
随时随地看视频慕课网APP

热门评论

这个加个div不是一样的道理吗?还是添加了一个无用的标签

查看全部评论