Estoy migrando mis temas Bootstrap de v2.3.2 a v3.0.0 y una cosa que noté es que muchas dimensiones se calculan de manera diferente, debido a los siguientes estilos en bootstrap.css.
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
¿Alguien puede explicar por qué Bootstrap cambia el tamaño de caja de todos los elementos a border-box? Sospecho que tiene que ver con el nuevo sistema de cuadrícula basado en porcentajes, pero el selector anterior no solo se aplica a los elementos de cuadrícula obviamente.
Parece un poco radical en mi humilde opinión :-)
¿Alguien quiere dar una idea?
css
twitter-bootstrap
twitter-bootstrap-3
boxsizer
Alexander Rechsteiner
fuente
fuente
*:before
y*:after
son necesarios para también aplicar este modelo de caja a las:before
y:after
pseudo-elementos.html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
Respuestas:
Las notas de la versión le dicen: ( http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/ )
Personalmente, creo que la mayoría de los beneficios van al sistema de red. En Bootstrap de Twitter, todas las cuadrículas son fluidas. Las columnas se definen como porcentaje del ancho total. Pero el canalón tiene un ancho fijo en píxeles. Por defecto, un relleno de 15px a ambos lados de la columna. La combinación de ancho en píxeles y porcentaje puede ser compleja. Con
border-box
este cálculo es fácil porque elborder-box
valor (a diferencia del valor predeterminado del cuadro de contenido) hace que el cuadro renderizado final tenga el ancho declarado y cualquier borde y relleno se corten dentro del cuadro. ( http://css-tricks.com/box-sizing/ )Lea también: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
fuente
content-box
. Ahora tienes algo que es 100% + 2 píxeles. Conborder-box
, no tienes ese problema, todavía está al 100%.