css盒模型与BFC详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aliujiujiang/article/details/90172483

1:盒模型简介

先看一张图:

                                  

可以说,页面就是由一个个盒模型堆砌起来的,每个HTML元素都可以叫做盒模型,盒模型由外而内包括:边距(margin)、边框(border)、填充(padding)、内容(content)。它在页面中所占的实际宽度是margin + border + paddint + content 的宽度相加。

2:标准模型和IE模型

盒模型是有两种标准的,一个是标准模型,一个是IE模型。

(....(⊙o⊙)…,图盗的清晰度可能不太够)

CSS盒模型和IE盒模型的区别:

在 标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。

3:如何切换盒子模型?

使用box-sizing来进行切换

  1. border-box 切换为IE盒模型
  2. content-box 默认属性 为标准模式

4:什么是bfc

  BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。(自己理解就是触发bfc的元素会脱离文档流,也就是说别的元素看不到它了))

   脱离文档流:元素脱离文档流之后,将不再在文档流中占据空间,而是处于浮动状态(可以理解为漂浮在文档流的上方)。脱离文档流的元素的定位基于正常的文档流,当一个元素脱离文档流后,依然在文档流中的其他元素将忽略该元素并填补其原先的空间。

5:触发bfc的条件

      1、浮动元素,float 除 none 以外的值; 
      2、定位元素,position(absolute,fixed); 
      3、display 为以下其中之一的值 inline-block,table-cell,table-caption; 
      4、overflow 除了 visible 以外的值(hidden,auto,scroll);

6:BFC的特性

      1.内部的Box会在垂直方向上一个接一个的放置。
      2.垂直方向上的距离由margin决定
      3.bfc的区域不会与float的元素区域重叠。
      4.计算bfc的高度时,浮动元素也参与计算
      5.bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。

猜你喜欢

转载自blog.csdn.net/aliujiujiang/article/details/90172483
今日推荐