盒子模型

一、提出问题

  1. 什么是盒子模型?
  2. 盒子模型的两种计算方式是什么?
  3. 块级元素和行内元素使用盒子模型的注意事项。

二、什么是盒子模型?

盒子模型就是浏览器看待元素的方式。当我们打开浏览器查看元素时,会显示如下图所示的盒子模型:
在这里插入图片描述

三、盒子模型的两种计算方式是什么?

盒子模型有两种计算方式,区别在于盒子的 width 和 height 的值是怎么计算得到的。可以通过 CSS 的 box-sizing 来控制盒子模型的计算方式。

3.1 box-sizng: content-box

box-sizing: content-box;时,我们设置元素的 widht 和 height 实际上就是盒子模型中内容区的width 和 height。此时,盒子的 width = width(内容区) + padding + border,盒子的 height 计算方法同样是如此。具体计算入下图所示:
在这里插入图片描述

3.2 box-sizing: border-box

box-sizing: border-box;时,此时设置元素的 width 和 height 即为设置盒子的 width 和 height。此时盒子模型的计算方式如下图所示:
在这里插入图片描述

四、块级元素和行内元素盒子模型的注意事项

4.1 块级元素的盒子模型注意事项

(1)块级元素相邻时:

块级元素在垂直方向上造成外边距的重叠,即两块级元素之间的外边距以较大外边距的值为准。
在这里插入图片描述

(2)块级元素嵌套时:

当一个块级元素中包含另一个块级元素时,如果此时父元素没有设置 border 和 padding,那么父元素上下的 margin 和子元素上下的 margin 会发生折叠,以大的值为最终父元素的 margin 值。子元素和父元素上边的 margin 发生折叠如下图所示:
在这里插入图片描述
如何避免?

  1. 给父元素设置 border 和 padding
  2. 父元素的 overflow:hidden

4.2 行内元素盒子模型的注意事项

使用行内元素时,其高度可以由 line-height 来设置或者由内容区来撑开。
行内元素之间的外边距不会发生折叠。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值