测验题

`* { box-sizing: border-box; }` 是干什么的?

它有什么好处?
Topics
CSS
在GitHub上编辑

* { box-sizing: border-box; }使页面上的每个元素都使用 box-sizing: border-box 方法来计算元素heightwidth

有什么区别?

默认情况下,元素应用了 box-sizing: content-box,如果一个元素指定了 heightwidth,那么只有内容尺寸被考虑在内。 box-sizing: border-box 会改变计算元素的 widthhigit的计算方式,borderpadding 也会被包括在计算中。 一个元素的height现在是按照内容的height+垂直padding+垂直border宽度计算的。 元素的 width 现在是按照内容的 width + 水平padding + 水平border 来计算的。

下表显示当属性具有相应的 box-sizing时,是否计算包含在元素的高度和宽度:

属性box-sizing: content-box (默认)box-sizing: border-box
内容
padding
border
margin

优点

paddingborder 作为盒子模型的一部分来考虑,更符合设计师对网格中内容的实际想象。 这是一种更直观的思考盒子的方式,因此许多 CSS 框架(例如 Bootstrap、Tailwind、Bulma)在全局范围内设置* { box-sizing: border-box; },以便所有元素默认使用这种盒子模型。

参考资料

在GitHub上编辑