• 小谢第43问:什么是BFC,怎么清除浮动


    BFC(块格式化上下文 (Block Formatting Context))是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
    ----外边的元素布局不影响里面的,里面的元素也不受外边的影响

    BFC的原理(渲染规则):
    1.垂直方向发生重叠
    2.BFC的区域不会与box重叠(因此可以用来清除浮动)
    3.BFC是一个独立的容器,外面的元素不会影响里面的元素,反之,里面的元素也不会影响外面的元素
    4.计算BFC的高度时,浮动元素不参与计算

    如何创建BFC
    1.float的值不为null
    2.position的值不为static或者relative
    3.display的值是inline-block、table-cell、flex、table-caption或者inline-flex
    4.overflow的值为hidden或者auto 

    清除浮动的四种方式
    1.overflow: hidden
    找到浮动元素的父元素,添加overflow: hidden,触发BFC清除浮动
    缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素
    2.额外标签法
    在最后一个浮动标签后,新加一个标签,给其设置clear:both;
    缺点:margin失效。两个div之间,没有任何的间隙
    3.使用after伪元素清除浮动
     
  • 相关阅读:
    SqlServer查询优化方法
    关于导入excel问题
    修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法
    软件架构之我见
    算法-插入排序
    算法-快速排序
    WCF系列 Restful WCF
    WCF系列 基础概念
    cocos2dx-是男人就坚持20s 练手项目
    nodejs 聊天室简单实现
  • 原文地址:https://www.cnblogs.com/xieoxie3000question/p/13364515.html
Copyright © 2020-2023  润新知