了解BFC

1. 什么是BFC

BFC:(block formatting context),块格式化上下文。
平常基本不使用,纯面向面试。
一个块格式化上下文由以下之一创建:

  • 浮动元素 (元素的 float 不是 none)
  • 绝对定位元素 (元素具有 position 为 absolute 或 fixed)
  • 内联块 (元素具有 display: inline-block)
  • 表格单元格 (元素具有 display: table-cell,HTML表格单元格默认属性)
  • 表格标题 (元素具有 display: table-caption, HTML表格标题默认属性)
  • 有overflow 且值不是默认 visible 的块元素,
  • display: flow-root(最新属性,可避免带来其他的副作用)

BFC元素特性表现原则就是,内部子元素再怎么翻江倒海都不会影响外部的元素。

2. BFC的实例(面试)

1. 爸爸管住儿子

用 BFC 包住浮动元素。(这不是清除浮动,.clearfix 才是清除浮动)

.baba{
  border: 10px solid red;
  min-height: 10px;
  display: flow-root; /*触发BFC*/

}
.erzi{
  background: green;
  float:left;
  width: 300px;
  height: 100px;
}

http://js.jirengu.com/rozaxufetu/1/edit?html,css,output

2. 同级兄弟划清界限

用 float + div 做左定宽右自适应布局

.gege{
  width: 100px;
  min-height: 200px;
  border: 3px solid red;
  float: left;
  margin-right: 20px;
}

.didi{
  min-height: 200px;
  border: 5px solid green;
  display: flow-root;
  
}


http://js.jirengu.com/kuhis/1/edit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,863评论 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,911评论 1 45
  • 先前在学习CSS float时,有同学提到了BFC这个词,作为求知好问的好学生,哪里不懂查哪里,那么今天就来研究一...
    这名字真不对阅读 6,599评论 3 19
  • (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!)(注2:更多内容请查看我的目录。) ...
    love丁酥酥阅读 4,365评论 2 5
  • 今天是618一个怎么忘也忘不掉的日子,你说你过得很平淡,可能你现在比较享受这种生活,可是你真的爱他吗?我知道以你的...
    夭夭的狼阅读 185评论 0 0