面试题答案
一键面试标准盒模型与怪异盒模型(border - box)的区别
- 标准盒模型:
- 元素的宽度(
width
)和高度(height
)仅指内容区域(content
)的宽度和高度。 - 实际占据空间的宽度 =
width
+padding
+border
+margin
。 - 实际占据空间的高度 =
height
+padding
+border
+margin
。
- 元素的宽度(
- 怪异盒模型(border - box):
- 元素的宽度(
width
)和高度(height
)包括了内容区域(content
)、内边距(padding
)和边框(border
)。 - 实际占据空间的宽度 =
width
+margin
。 - 实际占据空间的高度 =
height
+margin
。
- 元素的宽度(
适合使用怪异盒模型的场景及原因
- 等宽布局:
- 场景:例如网页导航栏中,每个导航项宽度一致。
- 原因:在标准盒模型下,为每个导航项设置相同宽度时,需要考虑内边距和边框对整体宽度的影响,计算复杂。而使用怪异盒模型,只需设置一个固定的
width
,无论内边距和边框如何变化,其占据的空间宽度始终保持一致,方便实现等宽布局。
- 响应式布局:
- 场景:在移动端和桌面端切换时,页面元素需要灵活调整大小。
- 原因:怪异盒模型能让开发者更方便地控制元素尺寸。例如一个卡片组件,在不同屏幕尺寸下,通过改变
width
和height
,同时内边距和边框也自动适配,无需重新计算每个部分的尺寸,确保在各种屏幕上布局稳定且美观。