布局复习---BFC

  其实在一开始我是没有BFC的这个概念的,只是知道在浮动过后,后续的元素如果出现问题,就做我们常说的:overflow:hidden.其中的原因还是不甚了解.不是说以前老师没有讲解过,而是以前根本就没有理解很深,就知道用.在这个星期白老师又重新给我们讲解了一遍,虽说不是非常系统,但是讲解的非常简单易懂.

  那么那些情况我们会遇到问题,那我们怎么用BFC解决呢?

  首先我们需要了解什么是BFC,BFC就是常说的 "Block Formatting Context",就是"块级格式化上下文",什么意思你可能会问.具体的什么意思我也不是很理解,就是把一个区域单独的隔离出来,里面的子元素和外面的元素互不影响.

  好了,我们还是来看看哪些情况我们需要用到BFC,一般说来,下面的四种情况会形成BFC:

  • float:left|right
  • position:absolute|fixed
  • display: table-cell|table-caption|inline-block
  • overflow: hidden|scroll|auto

  1.在浮动的时候遇到的问题,我们未设置父元素的高度,而在其子元素浮动的时候,会造成父元素塌陷.

  

  非常尴尬,但是我们可以用overflow:hidden来解决,当然我们也可以设置父元素的高度;

  2.边距折叠的问题:

  比如我们在平常经常会设置一个div,然后再包裹一个div,机智的你可能会发现,设置子元素的margin-top,父元素会跟着移动,以前的我理解为浏览器把两个div的上边框看成一个边框了,所以里面动,外面也跟着动,一般我的解决办法是:父元素padding:1px,但时这样会造成一定的布局变形.当然我们形成一个BFC就能完美的解决问题:overflow:hidden;还有就是,两个同级的div在上一个div设置margin-bottom:50px,而设置下一个div的margin-top:60px;机智的你又会发现:他们之间的间距并不是50+60=110,奇了怪了,再看看的确不是啊,在量量60px,这就是我们所说的边距折叠的问题,简单地方法就是在这两个div的外面在套一个div,设置overfl:hidden就解决了,注意我们所说的形成BFC,指的是其内部的每个子元素,而不是其本身,所以我们要在他的外面去套div的原因.

  平时我们所遇到的大部分情况如上所示,当然还有很多其他情况,由于我们(我)用的比较少,就不一一列粗来了.通过以上的栗子我们可以看出:BFC的作用还是大大的,可以解决我们平时觉得匪夷所思的问题,当然除了BFC还有IFC,GFC,FFC,大家若是有兴趣可以参考张鑫旭大大的文章.

时间: 2024-10-15 08:51:41

布局复习---BFC的相关文章

布局和BFC

块级格式化上下文 BFC 是W3C CSS2.1规范中的一个概念,决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.目前除了IE6-7外其他浏览器均支持BFC.在CSS3中BFC叫做Flow Root. 与普通容器相比,BFC元素可以看作是隔离了的独立容器,内部的元素不会在布局上影响外面元素. 如何形成BFC 满足任意下面条件的元素可形成BFC: 1. 浮动元素,float除了none外的值 2. 绝对定位元素,position:absolute/fixed 3. display为

CSS布局基础--BFC

1,什么是BFC BFC(Block Formatting Context)块级格式化上下文,它就是一个环境,HTML元素在这个环境中按照一定规则进行布局.一个环境中的元素不会影响到其他环境中的布局.它是W3C CSS2.1规范中的一个概念,是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level box如何布局,并且这个区域与外部毫不想干, 2,生成BFC 下面的方法可以创建一个新的BFC (1)浮动元素,float: left | right (2)

CSS 布局和 BFC

什么是 BFC 在一个Web页面的CSS渲染中,块级格式化上下文 (Block Fromatting Context)是按照块级盒子布局的.W3C对BFC的定义如下:浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的BFC(块级格式上下文).BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个 BFC 中

Html样式布局复习

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

CSS基础和布局复习

table布局 div布局优势   浏览器支持完善   表现和结构分离   样式设计控制功能强大   可以继承,层叠处理 Transitional // 松散过度型 Strict //严格型 Frameset //比较不常用的,使用框架使用这种模式 XHTML中的所有标签都是要闭合的比如 "<input/>" 但是在HTML中就不必这样 "<input>"即可  CSS中的数据单位: px : 像素 em : 当前对象体内的字体尺寸(好像英文

【转】CSS深入理解流体特性和BFC特性下多栏自适应布局

这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4588 一.开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来.不知大家有没有细想过,为什么这些方法可以实现自适应布局呢? 本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是

认识和理解css布局中的BFC

认识和理解css布局中的BFC BFC的定义 是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. Block Formatting Context 的元素的特点 其子元素会一个接一个地放置.垂直方向上他们的起点是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于 ‘margin’ 特性. 相邻的块级元素的垂直边距会折叠(collapse). 每一个元素左外边(margin)与包含块的左边相接触(对于从右到左的格式化,右外边接触右边)

圣杯 双飞翼布局 多栏自适应布局BFC

七种实现左侧固定,右侧自适应两栏布局的方法 圣杯布局 双飞翼布局 圣杯布局和双飞翼布局 CSS深入理解流体特性和BFC特性下多栏自适应布局 块状元素的流体特性. 图片宽度一直width:100%,结果随着margin, padding, border的出现,其可用宽度自动跟着减小,形成了自适应效果.就像放在容器中的水流一样,内容区域会随着margin, padding, border的出现自动填满剩余空间(box-sizing:border box;感觉) 然而,利用块状元素流体特性实现的自适应

前端学习第三周BFC的学习

BFC之前学的时候没太懂,后来专门复习了下. BFC(Block formatting context):可以直接翻译为"块级格式化上下文",它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干. BFC的布局规则:1.内部的Box会在垂直方向,一个一个的放置:2.Box垂直方向的距离由margin决定.且同一个BFC的两个相邻Box的margin会发生重叠:3.每个元素的margin box的