支持BFC的浏览器(IE8+,firefox,chrome,safari)

Block Formatting Context(块格式化上下文)是W3C CSS2.1规范中的一个慨念,在CSS3中被修改为flow root。格式化则表明了在这个环境中,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等。元素如果创建了BFC,那么BFC决定了如何对其内容进行定位,以及它与其他元素的关系和相互作用。

BFC布局规则:

—内部的Box会在垂直方向,一个接一个地放置。

—Box垂直方向的距离有margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠

—每个元素的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此

—BFC的区域不会与float box重叠

—BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也是如此。

—计算BFC的高度时,浮动元素也参与计算

什么情况会创建BFC?

—根元素

—float属性不为none

—position为absolute或fixed

—display为inline-block,table-cell,table-caption,flex,inline-flex

—overflow不为visible

 
启动BFC
取消BFC
<html>
 
 
float
除 none 以外的值
 
position
absolute,fixed
relative
display
inline-block,table-cell,table-caption,flex,inline-flex
...
overflow
除 visibile 以外的值  
 

haslyout(IE6-7)

haslayout是Windows Internet Explorer渲染引擎的一个内部组成部分。
在Internet Explorer中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。
当一个元素的hasLayout属性值为ture时,我们说这个元素有一个布局(layout)
 
启动haslayout的值
取消haslayout的值
display
inline-block
其他值
width/height
除了auto以外的值
auto
position
absolute
static
float
left或right
none
zoom(zoom是微软IE专有属性,可以触发haslayout但不会影响页面的显示效果。zoom:1常用来除错,不过ie5对这个属性不支持。)
有值
normal或者空值
min-height、min-width
任何值
 
max-height、max-width
任何值除了none
 
overflow、overflow-x、overflow-y
任何值除了visible
 
position fixed
 
 
 
 
 
下列元素默认haslayout=true
<table><td><body><img><hr><input><select><textarea><button><iframe><embed><object><applet><marquee>

BFC和haslayout(IE6-7)(待总结。。。)的更多相关文章

  1. 谈BFC和haslayout

    今天提到BFC和haslayout,就顺带在网上查查资料,总结一下它们. CSS2我们再熟悉不过,当然它里面我们需要掌握的,就是CSS2的选择器和布局,选择器总共31种.避开这个不说,我们说布局. 布 ...

  2. BFC and Haslayout

    一.BFC(Block Formatting Context) 相关网址:http://www.cnblogs.com/dolphinX/p/3508869.html 1. 怎样才能形成BFC flo ...

  3. BFC与hasLayout

    BFC与hasLayout都是CSS布局上的概念. 几个月前在微博上才了解什么是BFC,算是对布局有点初步的了解. hasLayout则是IE6.7产生许多bug的根源. 一.BFC Floats, ...

  4. 文本溢出、垂直外边距合并、BFC、hasLayout

    今天学习文本溢出,又遇到了一些小问题,先上图: 关于文本溢出推荐:http://www.cnblogs.com/yzg1/p/5089534.html 从里面学习到单行文本和多行文本溢出, overf ...

  5. BFC与hasLayout之间的故事

    刚拒绝了一个很有诱惑的公司,不是不想去,而是对现在的能力还不确定,希望能够进一步提高自己的技能,所有想写博客了,监督自己的学习进度·········现在还没有开放博客,希望成熟一些后再开放吧! 进入正 ...

  6. CSS的BFC和hasLayout及其应用场景

    前端精选文摘:BFC 神奇背后的原理 一.BFC是什么? 先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观 ...

  7. BFC 和 haslayout

    在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS 布局的对象和基本单位, 直观点来说,就是一个页面是由很 ...

  8. BFC与HasLayout的理解

    1.(Block Formatting Contexts)BFC 定义 BFC(Block formatting context)直译为"块级格式化上下文".它是一个独立的渲染区域 ...

  9. BFC和haslayout

    待补充 参考链接:http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html 标准浏览器: BFC(block formatt ...

随机推荐

  1. js 快速排序

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Python 第三方 http 库-Requests 学习

    Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...

  3. Iowait的成因、对系统影响及对策

    什么是iowait?顾名思义,就是系统因为io导致的进程wait.再深一点讲就是:这时候系统在做io,导致没有进程在干活,cpu在执行idle进程空转,所以说iowait的产生要满足两个条件,一是进程 ...

  4. Locust压力测试Odoo

    Table of Contents 编写测试任务集 TaskSet 运行 Locust 分布式 运行 master 运行 slave.     Locust 是个伸缩性很好的压力测试框架,OdooLo ...

  5. srm 541

    资瓷点这里阅读该文章O_o 250 Solution 水题,最暴力的方法枚举就可以 Code #include <bits/stdc++.h> using namespace std; # ...

  6. 3、C++新的关键字

        C++ 添加了一些全新的关键字. 1.new     new 来进行动态内存的分配,而delect 则是进行内存的释放, 申请的方式: 变量申请: int *p = new int; // 申 ...

  7. 摄像机Rtsp地址格式大全

    各厂家rtsp地址格式如下:  一. 海康.中威摄像机 格式1 主码流:rtsp://admin:12345@192.168.1.64:554/Streaming/Channels/1 子码流:rts ...

  8. linux 静态库使用经验

    在编写程序的过程中,对于一些接口往往抽象成lib库的形式,甚至有些程序只有一个主程序,其他接口的调用都是库的形式存在.较多的使用库会比较利于程序的维护,因为我们的程序都可以被其他的人使用,但是往往库的 ...

  9. void 0 或者 undefined

    Problem 在检查一个值是否为undefined的时候.你们是假设去測试的? 要是之前的我会这样子測试 function isUndefined(obj){ return obj === unde ...

  10. Nginx绑定多个域名的方法

        nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里.  一.每个域名一个 ...