Nếu bạn thường sử dụng các thuộc tính paddinng + border khi đang "phù phép" cho các phần tử trong website như các input, textarea hoặc thậm chí các thẻ div bình thường rồi bạn không thấy được kích thước như mong muốn, có thể lúc đó bạn sẽ cảm thấy vô cùng phẫn nộ và chỉ muốn đập tan cái bàn phím của mình nhưng rồi cũng bình tĩnh lại, uống 1 ngụm nước lọc và ngồi tính toán trừ trừ cộng cộng các giá trị với ước mơ sẽ được nhìn thấy một phần tử với kích thước hoàn hảo như lúc còn làm trong Photoshop. Chẳng hạn như bạn muốn 1 cái thẻ div với kích thước là 150x150 px và có viền là 2px solid màu hồng thêm padding 10px để đặt cái ảnh của gấu xong cho lên web để khoe thì đây có lẽ là điều bạn đang suy nghĩ trong đầu...
Code xong xuôi bạn xem kết quá thì tí ngất vì quá sốc... thế đíu nào nó lại thành ra...
box-sizing cho phép bạn xác định một số thuộc tính để nó trở nên phù hợp với một với một phần tử với kích thước đã được định sẵn.
bây giờ đem đi sử dụng với ví dụ trên, bạn sẽ có một kết quả hoàn toàn giống y như lúc bạn thiết kế
Cú pháp:
Code xong xuôi bạn xem kết quá thì tí ngất vì quá sốc... thế đíu nào nó lại thành ra...
Đừng lo! Đã có box-sizing!
box-sizing cho phép bạn xác định một số thuộc tính để nó trở nên phù hợp với một với một phần tử với kích thước đã được định sẵn.
bây giờ đem đi sử dụng với ví dụ trên, bạn sẽ có một kết quả hoàn toàn giống y như lúc bạn thiết kế
- Code:
.avatar-cho-gau {
background: #2e2e2e;
width: 150px;
height: 150px;
border: 2px solid pink;
padding: 10px;
box-sizing: border-box;
-moz-box-sizing:border-box; /* Firefox */
}
Cú pháp:
- Code:
box-sizing: content-box|border-box|inherit;
Các trình duyệt hỗ trợcontent-box: điều chỉnh các thuộc tính liên quan đến nội dung bên trong (padding) thẻ
border-box: điều chỉnh các thuộc tính liên quan đến nội dung bên trong (padding) và đường viên (border) của thẻ
inherit: lấy giá trị từ thẻ có chứa nó (parent)
Chúc các bạn thành công!Chrome (mọi pb): box-sizing
Opera 8.5 trở lên: box-sizing
Firefox (mọi pb): -moz-box-sizing
Safari 3 đến 5: -webkit-box-sizing
Safari 5.1 trở lên: box-sizing
IE8 trở lên: box-sizing
Juskteez