zoukankan      html  css  js  c++  java
  • 小谢第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伪元素清除浮动
     
  • 相关阅读:
    java及前端请求跨域问题
    Node.js初级
    Oracle学习过程(随时更新)
    记录一下工作中犯的低级错误
    Maven管理项目架包
    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件
    position 定位属性
    一般处理程序 ashx 无法获取Session 值
    删除SQL SERVER 登录记录
    web.config 连接字符串 加密
  • 原文地址:https://www.cnblogs.com/xieoxie3000question/p/13364515.html
Copyright © 2011-2022 走看看