CSS系列 (03):盒模型详解

时间:2021-01-02 10:39:19   收藏:0   阅读:0

盒模型

CSS盒模型分成W3C标准盒模型和IE模型

盒子模型布局稳定性

我们根据稳定性来分,建议如下:

按照 优先使用宽度,其次使用内边距,再次外边距。 即:width > padding > margin

原因:

(1)margin 会有外边距合并
(2)padding 会影响盒子大小,需要进行加减计算(麻烦) 其次使用
(3)width 没有问题我们经常使用宽度剩余法来做

padding margin 百分比

marginpadding的值设置为百分比时,是相对于最近的块级或内联块父元素width(非总宽度)的相应百分比的值。

即使是margin-topmargin-bottompadding-toppadding-bottom,设置为百分比时也是以最近块级父元素的width(非总宽度)为基准,而非height

margin塌陷问题

BFC

BFC 全称为块格式化上下文 (Block Formatting Context) 。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用

BFC触发条件:

BFC作用:

  1. BFC解决margin塌陷问题

  2. BFC解决浮动元素引起父元素高度塌陷问题

    在通常情况下父元素的高度会被子元素撑开,而如果父元素没有设置高度,其子元素均为浮动元素,此时父元素会发生了高度坍塌,上下边界重合,即浮动元素无法撑起父元素。这时就可以用BFC来清除浮动了,将父元素整体设置为BFC环境

  3. BFC解决元素被浮动元素覆盖问题

    如果有两个相邻元素,第一个元素左浮动,第二个元素不设置浮动,这时候第二个元素会有部分被浮动元素所覆盖(但是文本信息不会被浮动元素所覆盖)。 如果想避免元素被覆盖,可触发第二个元素的 BFC 特性,在第二个元素中加入 overflow: hidden即可

参考文档

10 分钟理解 BFC 原理

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!