Je migre mes thèmes Bootstrap de la v2.3.2 vers la v3.0.0 et une chose que j'ai remarquée est que beaucoup de dimensions sont calculées différemment, en raison des styles suivants dans bootstrap.css.
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Quelqu'un peut-il expliquer pourquoi Bootstrap change le dimensionnement de la boîte de tous les éléments en border-box? Je soupçonne que cela a à voir avec le nouveau système de grille basé sur le pourcentage, mais le sélecteur ci-dessus ne s'applique pas uniquement aux éléments de la grille, évidemment.
Semble un peu radical à mon humble avis :-)
Quelqu'un veut-il donner un aperçu?
css
twitter-bootstrap
twitter-bootstrap-3
boxsizer
Alexander Rechsteiner
la source
la source
*:before
et*:after
sont nécessaires pour appliquer également ce modèle de boîte aux:before
et:after
pseudo-éléments.html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
Réponses:
Les notes de publication vous le disent: ( http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/ )
Personnellement, je pense que la plupart des avantages vont au système de réseau. Dans Bootstrap de Twitter, toutes les grilles sont fluides. Les colonnes sont définies en pourcentage de la largeur totale. Mais la gouttière a une largeur fixe en pixels. Par défaut, un remplissage de 15px des deux côtés de la colonne. La combinaison de la largeur en pixels et du pourcentage peut être complexe. Avec
border-box
ce calcul, il est facile car laborder-box
valeur (par opposition à la valeur par défaut de la zone de contenu) fait de la boîte rendue finale la largeur déclarée, et toute bordure et remplissage coupés à l'intérieur de la boîte. ( http://css-tricks.com/box-sizing/ )Lisez également: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
la source
content-box
. Vous avez maintenant quelque chose de 100% + 2 pixels. Avecborder-box
, vous n'avez pas ce problème, c'est toujours 100%.