美文网首页
第五次课程小结:清除浮动

第五次课程小结:清除浮动

作者: jiujiumi | 来源:发表于2019-10-15 14:49 被阅读0次

什么是浮动

浮动的本质:实现文字环绕效果
元素脱离文档流不脱离文字流
脱离文档流:假如A元素浮动了,原本排在该元素之后的元素发现A元素不在这个文档流了,就会无视它往上接到A元素前面的元素之后
不脱离文字流:文字并不会无视它,还会环绕A元素



使用position:absolute,脱离文字流,直接覆盖



浮动会导致父元素的高度塌陷

BFC

块级格式化上下文,当创建BFC之后元素就会把里面的东西视为自己的东西,包括浮动元素,然后创建一个私有领域给包裹进来。
创建BFC 的几种方法:

  • float不为none
  • overflow不为visible
  • display为table-cell、table-captain、inline-block
  • position不为static、relative
    BFC的特性:
    1.让原本会叠加的上下外边距叠加无效。相邻盒子margin垂直方向会重



    2.BFC不围绕浮动元素


清除浮动的方法(解决父元素高度塌陷)

  • clear:both
  • 创建BFC
  1. 通过在浮动元素末尾添加一个空的标签例如并设置样式为clear:both | left | right ,其他标签br等亦可
<div class="parent">
    <div class="child"></div>
    <div style="clear: both;"></div>
</div>

优点:简单
缺点:增添新标签,不符合语义化

<div class="parent">
    <div class="child"></div>
    <br clear='all'>
</div>
  1. 伪元素:after
    由于IE6-7不支持:after,使用zoom:1触发hasLayout。其实是通过 content 在元素的后面生成了内容为空的块级元素
.clearfix:after {
    content:"";
    display:block;//通过 content 在元素的后面生成了内容为空的块级元素
    height:0;
    visibility:hidden;
    clear:both; 
}
.clearfix {
    zoom:1;
}

优点:结构和语义化完全正确,代码量居中。
缺点:复用方式不当会造成代码量增加。

.clearfix:after {
    content:"";
    display:table;
    clear:both; 
}
.clearfix {
    zoom:1;
}

用display:table 是为了避免外边距margin重叠导致的margin塌陷, 内部元素默认会成为 table-cell 单元格的形式
.clearfix应该用于包含浮动子元素的父元素上

float浮动

使用浮动将造成:
元素block块状化
破坏性造成的去空格化

相关文章

  • 第五次课程小结:清除浮动

    什么是浮动 浮动的本质:实现文字环绕效果元素脱离文档流不脱离文字流脱离文档流:假如A元素浮动了,原本排在该元素之后...

  • Day.02.03 div之清除浮动

    小结:清除浮动后不受浮动约束,用来和浮动组合,搭建界面!

  • 清除浮动小结

    1.关于浮动带来的影响: 浮动会使浮动元素脱离文档流.所以如果父级元素没有其他元素,父级元素会失去高度.所以我们要...

  • 11.22 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 前端06

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 06 前端学习

    清除浮动 clear:left清除左浮动clear:right清除右浮动clear:both清除对它影响最大的浮动...

  • 清除浮动

    未清除浮动前 清除浮动后

  • 技术知识点整理

    清除浮动 BFC清除浮动浮动的父级末尾插入块级元素清除浮动 BFC(Block Formatting Contex...

  • H5前端开发学习笔记——0x15清除浮动

    清除浮动 课时130 浮动元素高度问题(掌握) 课时131 清除浮动方式一(理解) 课时132 清除浮动方式二(理...

  • css清除浮动

    前端开发中浮动处处可见,本文探讨浮动的成因以及如何更加有效的清除浮动。 1、浮动与清除浮动 2、清除浮动 基本cs...

网友评论

      本文标题:第五次课程小结:清除浮动

      本文链接:https://www.haomeiwen.com/subject/kcbrmctx.html