Saya memigrasi tema Bootstrap saya dari v2.3.2 ke v3.0.0 dan satu hal yang saya perhatikan adalah banyak dimensi dihitung secara berbeda, karena gaya berikut di bootstrap.css.
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Adakah yang bisa menjelaskan mengapa Bootstrap mengubah ukuran kotak dari semua elemen menjadi kotak-batas? Saya menduga ini ada hubungannya dengan sistem grid baru yang berbasis persen, tetapi pemilih di atas jelas tidak hanya berlaku untuk elemen grid.
Sepertinya agak radikal imho :-)
Adakah yang peduli untuk memberikan wawasan?
css
twitter-bootstrap
twitter-bootstrap-3
boxsizer
Alexander Rechsteiner
sumber
sumber
*:before
dan*:after
diperlukan untuk juga menerapkan model kotak ini ke:before
dan:after
pseudo-elemen.html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
Jawaban:
Catatan rilis memberi tahu Anda: ( http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/ )
Secara pribadi saya pikir sebagian besar manfaat masuk ke sistem grid. Di Bootstrap Twitter, semua kisi berubah-ubah. Kolom ditentukan sebagai persentase dari total lebar. Tetapi talang memiliki lebar tetap dalam piksel. Secara default, padding 15px di kedua sisi kolom. Kombinasi lebar dalam piksel dan persentase bisa jadi rumit. Dengan
border-box
penghitungan ini mudah karenaborder-box
nilainya (sebagai lawan dari default kotak konten) membuat kotak yang dirender akhir menjadi lebar yang dinyatakan, dan batas dan bantalan apa pun dipotong di dalam kotak. ( http://css-tricks.com/box-sizing/ )Baca juga: http://www.paulirish.com/2012/box-sizing-border-box-ftw/
sumber
content-box
. Sekarang Anda memiliki sesuatu yang 100% + 2 piksel. Denganborder-box
, Anda tidak memiliki masalah itu, masih 100%.