CSS-BFC

最近看幕课网CSS之Float,float最初是为了实现文字的环绕效果;这里面提到BFC,刚好项目中正用到一种解决BFC的方法,DIV在添加float后,就不存在文档流中啦,不占据空间,这使的一些未浮动的DIV会出现一些奇怪的布局,像塌陷,这里

形成BFC的条件(符合以下任一条件即可):

1) float的值不为none;

2)overflow的值不为visible;

3)display的值为 table-cell、table-caption和inline-block之一;

4)position的值不为 static或relative中的任何一个;

我觉的正是DIV浮动起来了,才比以前的table布局更加灵活,最简单清除浮动的方式是添加一个新的DIV,附上clear:both,这样会产生一些对于以后不易维护的代码,继而出现利用after,before伪类+content/zoom来清楚浮动,目前项目解决方法就是这个,具体代码:

xxx.after{
   display:block;
   clear:both;
   height:0;
   font-size:0;
   content:"";
   zoom:1
}

大师手法:

xxx:after{
    content:"";
    display:table;
    clear:both;
}

这边跟BFC还有个类似的叫hasLayout,抽空看看博文再做记录。

时间: 2024-08-02 00:37:04

CSS-BFC的相关文章

CSS BFC和IE Haslayout

一.BFC(Block Formatting Context) 相关网址:http://www.cnblogs.com/dolphinX/p/3508869.html 1. 怎样才能形成BFC float的值不为none. overflow的值不为visible. display的值为table-cell, table-caption, inline-block中的任何一个. position的值不为relative和static. 2.BFC的作用 不和浮动元素重叠 如果一个浮动元素后面跟着一

CSS BFC hasLayout模型

BFC(Block Formatting Context),简单讲,它是提供了一个独立布局的环境,每个BFC都遵守同一套布局规则.例如,在同一个BFC内,盒子会一个挨着一个的排,相邻盒子的间距是由margin决定且垂直方向的margin会重叠.而float和clear float也只对同一个BFC内的元素有效. 非块级盒子的浮动元素.绝对定位元素及块级容器(比如inline-blocks,table-cells和table-captions),以及overflow属性是visible之外任意值的

CSS BFC(Block Formatting Context)

BFC是 W3C CSS 2.1 规范中的一个概念Block Formatting Context的缩写即格式化上下文,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.简单讲,它是提供了一个独立布局的环境,元素处于此环境中应当被初始化,即元素在此环境中应当如何布局等.元素如果创建了BFC,那么BFC决定了如何对其内容进行定位,以及它与其他元素的关系和相互作用. 在这个环境中按照一定规则进行布局不会影响到其它环境中的布局.比如浮动元素会形成BFC,浮动元素内部子元素的主要受该浮动

CSS BFC学习笔记

BFC,全称是Block Formatting Context,块级格式化上下文. 具体是什么,可以理解为页面元素的一种特性,触发了BFC的元素往往会产生一些对初学者而言意想不到的效果. 触发BFC的方法有下面几种,满足其中任意一种就能触发BFC: 浮动元素(float除了none以外任意值) 绝对定位元素(position为absolute或fixed) display为inline-block或table-cell或table-caption overflow为除了visible以外的其他值

<HTML/CSS>BFC原理剖析

本文讲了BFC的概念是什么: BFC的约束规则:咋样才能触发生成新的BFC:BFC在布局中的应用:防止margin重叠(塌陷,以最大的为准): 清除内部浮动:自适应两(多)栏布局. 1. BFC是什么? Block fomatting context = block-level box + Formatting Context Box: Box即盒子模型: block-level box即块级元素 display属性为block, list-item, table的元素,会生成block-lev

CSS——BFC

http://www.cnblogs.com/lhb25/p/inside-block-formatting-ontext.html 元素若不是bfc,那么内部浮动元素的高度不参与计算 元素若不是bfc.那么与浮动元素会重叠,若是bfc,不会与浮动元素重叠 元素若不是bfc,内部元素的margin-top会造成塌陷,但是margin-left不会造成影响,原因是渲染方式是顺着box(包含快,body也是包含块)的左边一个一个渲染 原文地址:https://www.cnblogs.com/wuqi

bfc+css

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

转载 前端基础知识体系 一个新手的学习之路

原帖地址:  转载的原因是我学习前端和php已经4个多月了.看看自己还有那些不足.自己得努力学习,牛人太多.红色是我会的,或者学过的.希望今天把大部分飘红. 一.HTML 标签的分类 标签表示一个元素 按性质划分: Block-Level和Inline-Level 按语义划分: Headings: h1, h2, h3, h4, h5, h6 Paragraphs: p Text Formatting: em, strong, sub, del, ins, small Lists: ul, li

前端知识体系及修炼

前端开发的核心是HTML + CSS + JavaScript.本质上它们构成一个MVC框架,即HTML作为信息模型(Model),CSS控制样式(View),JavaScript负责调度数据和实现某种展现逻辑(Controller). HTML 1. 标签的分类 1. 标签表示一个元素 2. 按性质划分: Block-Level和Inline-Level 3. 按语义划分: Headings: h1, h2, h3, h4, h5, h6 Paragraphs: p Text Formatti

前端知识体系及修炼攻略

Web前端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过5年.Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征.随着人们对用户体验的要求越来越高,前端开发的技术难度越来越大,Web前端开发工程师这一职业终于从设计和制作不分的局面中独立出来. 早期的前端其实就是Table布局,后来发展到所谓的Div + CSS网站重构,再到现在的让人眼花缭乱的各种各样的新技术,Web前端技术发展是非常快速的,因此选择了前端这个行业就意味着不停的学习吧.让我们先看看张克军绘制