Estou migrando meus temas do Bootstrap de v2.3.2 para v3.0.0 e uma coisa que percebi é que muitas dimensões são calculadas de maneira diferente, devido aos seguintes estilos em bootstrap.css.
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Alguém pode explicar por que o Bootstrap muda o tamanho da caixa de todos os elementos para a caixa de borda? Suspeito que tenha a ver com o novo sistema de grade ser baseado em porcentagem, mas o seletor acima não se aplica apenas aos elementos da grade, obviamente.
Parece um pouco radical imho :-)
Alguém se importa em dar algumas dicas?
css
twitter-bootstrap
twitter-bootstrap-3
boxsizer
Alexander Rechsteiner
fonte
fonte
*:before
e*:after
são necessários para também aplicar este modelo de caixa para os:before
e:after
pseudo-elementos.html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
Respostas:
As notas da versão informam: ( http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/ )
Pessoalmente, acho que a maioria dos benefícios vai para o sistema de rede. No Bootstrap do Twitter, todas as grades são fluidas. As colunas são definidas como porcentagem da largura total. Mas a calha tem uma largura fixa em pixels. Por padrão, um preenchimento de 15 px em ambos os lados da coluna. A combinação de largura em pixels e porcentagem pode ser complexa. Com
border-box
esse cálculo é fácil porque oborder-box
valor (em oposição ao padrão da content-box) torna a caixa renderizada final a largura declarada e qualquer borda e preenchimento cortado dentro da caixa. ( http://css-tricks.com/box-sizing/ )Leia também: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
fonte
content-box
. Agora você tem algo que é 100% + 2 pixels. Comborder-box
, você não tem esse problema, ainda é 100%.