css盒模型(标准,怪异)与 BFC

什么是盒模型:

在我们HTML页面中,每一个元素都可以被看作一个盒子,而这个盒子由:内容宽度(content)、内边距(padding)、边框(border)、外边距(margin)四部分组成

盒模型分为两种:

第一种是W3C标准的盒子模型(标准盒模型),第二种IE标准的盒子模型(怪异盒模型)

标准盒模型与怪异盒模型的区别:

在标准模式下,一个块的总宽度= width + margin(左右) + padding(左右) + border(左右)

在怪异模式下,一个块的总宽度= width + margin(左右)(即width已经包含了padding和border值)
在这里插入图片描述
在这里插入图片描述

如何触发两种盒模型:

如果是定义了完整的doctype的标准文档类型,无论是哪种模型情况,最终都会触发标准模式,如果doctype协议缺失,会由浏览器自己界定,在IE浏览器中IE9以下(IE6.IE7.IE8)的版本触发怪异模式,其他浏览器中会默认为W3C标准模式。

注意:
可以采用css3中的box-sizing属性来统一标准盒子模型和怪异盒子模型

属性box-sizing有三个属性值:

  1. content-box: 将盒子设置为标准盒子模型
  2. border-box: 将盒子设置为怪异盒子模型
  3. padding-box: 将padding算入width范围

BFC

BFC的基本概念: BFC就是块级格式化上下文的意思,也有译作块级格式化范围。它是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。通俗的讲,就是一个特殊的块,内部有自己的布局方式,不受外边元素的影响。

BFC原理:

  1. BFC内部的盒子,会在垂直方向,一个接一个地放置。垂直方向上也会发生边距重叠。
  2. BFC就是页面上的一个独立容器,容器里面的子元素不会影响到外面的元素,外边的也不会影响里边的。
  3. BFC的区域不会与float box重叠。
  4. 计算BFC的高度时,浮动元素也被计算在内。

BFC如何产生:

在box属性值为这些的情况下,都会让所属的box产生BFC

  • overflow: auto/ hidden;
  • position: absolute/ fixed;
  • float: left/ right;
  • display: inline-block/ table-cell/ table-caption/ flex/ inline-flex
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值