Kenapa kita tidak punya box-sizing: margin-box;
? Biasanya ketika kita memasukkan box-sizing: border-box;
style sheet kita benar-benar berarti yang pertama.
Contoh:
Katakanlah saya memiliki tata letak halaman 2 kolom. Kedua kolom memiliki lebar 50%, tetapi terlihat agak jelek karena tidak ada selokan (celah di tengah); Di bawah ini adalah CSS:
.col2 {
width: 50%;
float: left;
}
Untuk menerapkan selokan, Anda mungkin berpikir kami bisa menetapkan margin kanan pada kolom pertama dari 2; sesuatu seperti ini:
.col2:first-child {
margin-right: 24px;
}
Tetapi ini akan membuat kolom kedua membungkus ke baris baru, karena yang berikut ini benar:
50% + 50% + 24px > 100%
box-sizing: margin-box;
akan menyelesaikan masalah ini dengan memasukkan margin dalam lebar elemen yang dihitung. Saya akan menemukan ini sangat berguna jika tidak lebih bermanfaat daripada box-sizing: border-box;
.
border: xxx solid transparent;
, karena perbatasan disertakan border-box
. Ini akan merusak beberapa hal lain, seperti box-shadow
.
box-sizing: margin-box
karena tidak akan berfungsi dengan margin-collapse.
box-sizing: margin-box;
?" Karena sementara margin horizontal tidak runtuh, proposisi seperti itu akan secara serius mengganggu keruntuhan margin vertikal. Bagaimanapun, jika Anda ingin mengusulkan sesuatu untuk standardisasi, Stack Overflow bukanlah tempat yang tepat. Coba milis.