发布于 2026-01-06 3 阅读
0

CSS 中的 Box Sizing 是什么? 🤔

CSS 中的 Box Sizing 是什么? 🤔

替代文字

¡你好,善良的好人! 👋
测验中有很多 CSS 错误的例子:



*,
*::after,
*::before {
 box-sizing: border-box;
}


Enter fullscreen mode Exit fullscreen mode

Te preguntaras a que se refiere, o porque siempre lo colocan en los estilos. Pues bien,en este articulo te lo explicare hasta con matemáticas…🤭

🧐¿Qué es el box sizing?

La propiedad box-sizing (tamaño de caja) is setablece como se calula el ancho y alto Total de un elemento. Recuerda que en HTML todos los elementos son una caja y es muyy importante comprender que es el box-model (modelo de caja) antes de pasar con el box-sizing.

La propiedad box-sizing tiene dos valores posibles: content-boxy border-box。如果没有必要的话,我将首先勇敢地叛逃。 Vamos 是一个明确的例子……

📦内容框

En el box-1tengo un widthde 100pxy un heightde 120pxsi yo añado un padding de 5pxy un border de 2pxahora la caja va a medir 114px de ancho por 134px de alto。这是因为 esto es porque le estoy sumando el padding y border。



.box-1 {
 width: 100px;
 height: 120px;
 padding: 5px;
 border: 2px solid blue;
 box-sizing: content-box;
}


Enter fullscreen mode Exit fullscreen mode

替代文字

Esto hace que la caja se vea más grande。 Para llegar a estas medida Total, el navegador hace el siguiente calculo:

最终宽度:宽度 + (左边距 + 右边距) + (右边框 + 左边框)
最终宽度:100px + (2 * 5px) + (2 * 2px) = 114px

最终高度:高度 + (上内边距 + 下内边距) + (上边框 + 下边框)
最终高度:120px + (2 * 5px) + (2 * 2px) = 134px

与计算的锚点和中音的导航者的缺陷相匹配,将锚点和其他区域的内容应用到内容中,并在边界和填充中进行操作。

✅边框框

前部的边框框是必需的,它需要宽度 y 高度(分别为 100 像素 x 120 像素)的具体元素,并且需要边框框的勇气。边框盒具有 Elementos mantengan su tamaño 和 usa precisamente para que el box model no se rompa。



.box-2 {
 width: 100px;
 height: 120px;
 padding: 5px;
 border: 2px solid blue;
 box-sizing: border-box;
}


Enter fullscreen mode Exit fullscreen mode

替代文字

Como puedes ver en la imagen el content tiene una medida de 86px de ancho por 106px de alto, si esto lo sumas al padding y border las medidas son las Mismas que especaste en width y height (100px x 120px).

但出售 86 像素 x 106 像素吗? 🥴。 Esto pasa porque en lugar de sumar, el padding y border se restan del ancho y del alto para que después la suma Total Sean las Medidas excasas, este calculo lo hace el navegador de la siguiente manera:

宽度 - (左内边距 + 右内边距) - (右边框 + 左边框)
100px - (2 * 5px) - (2 * 2px) = 86px
86px + 10px 内边距 + 4px 边框 = 100px

高度 - (上内边距 + 下内边距) - (上边框 + 下边框)
120px - (2 * 5px) - (2 * 2px) = 106px
106px + 10px 内边距 + 4px 边框 = 120px

内容框和边框框之间的差异与图像不同。内容框的填充和边框是元素元素的dibujan por fuera de la anchura y altura (se suman),mientras que en border-box,填充和边框是dibujan dentro del ancho y alto (se restan)。

替代文字

⚙️重置

如果您要应用框尺寸属性的元素,请按照以下步骤进行设置:

1️⃣通用盒子尺寸

Esta regla lo que hace es aplicar la propiedad box-sizing con su valor border-box a todos los elementos ya todos los fakeelementos (before y after):



,
::after,
*::before {
box-sizing: border-box;
}

Enter fullscreen mode Exit fullscreen mode




2️⃣通用盒子尺寸及继承

请重新考虑前部的情况。例如,与内容盒相关的组件是单独的组件,因此您可以方便地进行操作:



html{
box-sizing: border-box;
}
,
::after,
*::before {
box-sizing: inherit;
}

Enter fullscreen mode Exit fullscreen mode




资源:

感谢您🦸🏻‍♀️
社交方面的注意事项:

▶️YouTube
📷Instagram
🐦Twitter
🔵Facebook
🔲Codepen
✍️Medium
🎵TikTok

文章来源:https://dev.to/lupitacode/que-es-el-box-sizing-en-css-2pi9