Tại sao chúng ta không có box-sizing: margin-box;
? Thông thường khi chúng tôi đặt box-sizing: border-box;
trong các tờ phong cách của chúng tôi, chúng tôi thực sự có nghĩa là trước đây.
Thí dụ:
Giả sử tôi có bố cục trang 2 cột. Cả hai cột có chiều rộng 50%, nhưng chúng trông có vẻ xấu xí vì không có máng xối (khoảng trống ở giữa); Dưới đây là CSS:
.col2 {
width: 50%;
float: left;
}
Để áp dụng máng xối, bạn có thể nghĩ rằng chúng ta chỉ cần đặt lề phải trên cột đầu tiên trong số 2 cột; đại loại như thế này:
.col2:first-child {
margin-right: 24px;
}
Nhưng điều này sẽ làm cho cột thứ hai quấn lên một dòng mới, bởi vì điều sau đây là đúng:
50% + 50% + 24px > 100%
box-sizing: margin-box;
sẽ giải quyết vấn đề này bằng cách bao gồm lề trong chiều rộng tính toán của phần tử. Tôi sẽ thấy điều này rất hữu ích nếu không hữu ích hơn box-sizing: border-box;
.
border: xxx solid transparent;
, vì đường viền được bao gồm trong border-box
. Điều này sẽ phá vỡ một số thứ khác mặc dù, chẳng hạn như box-shadow
.
box-sizing: margin-box
vì nó sẽ không hoạt động với sự sụp đổ lề.
box-sizing: margin-box;
?" Bởi vì trong khi lề ngang không sụp đổ, một đề xuất như vậy sẽ can thiệp nghiêm trọng đến sự sụp đổ lề dọc. Dù sao, nếu bạn muốn đề xuất một cái gì đó cho tiêu chuẩn hóa, Stack Overflow không phải là nơi thích hợp. Hãy thử danh sách gửi thư.