Trong CSS, thuộc tính box-sizing xác định cách tính toán kích thước của một phần tử, bao gồm chiều rộng và chiều cao. Điều này rất quan trọng để quản lý bố cục và tạo ra các giao diện chính xác. Có ba giá trị chính cho thuộc tính box-sizing: content-box, border-box, và inherit. Dưới đây là so sánh chi tiết giữa các giá trị này.
1. content-box
Mô tả: Đây là giá trị mặc định của thuộc tính box-sizing. Kích thước của phần tử chỉ bao gồm nội dung (content), không tính đến padding và border.
Cách tính toán:
Chiều rộng (width) = Kích thước nội dung.
Chiều cao (height) = Kích thước nội dung.
Padding và Border sẽ được thêm vào kích thước, làm tăng kích thước thực tế của phần tử.
Ví dụ:
.box {
box-sizing: content-box;
width: 200px;
padding: 20px; /* Padding sẽ được thêm vào */
border: 5px solid black; /* Border sẽ được thêm vào */
}
Mô tả: Với giá trị này, kích thước của phần tử sẽ bao gồm nội dung, padding và border. Điều này giúp dễ dàng kiểm soát kích thước phần tử mà không lo lắng về việc thêm padding hoặc border sẽ làm tăng kích thước tổng thể.
.box {
box-sizing: border-box;
width: 200px;
padding: 20px; /* Padding sẽ nằm trong 200px */
border: 5px solid black; /* Border sẽ nằm trong 200px */
}
Kích thước thực tế:
Chiều rộng = 200px (bao gồm padding và border)
Chiều cao = 100% của nội dung + padding + border.
3. inherit
Mô tả: Giá trị này sẽ kế thừa thuộc tính box-sizing từ phần tử cha. Điều này có thể hữu ích khi bạn muốn duy trì tính nhất quán trong một nhóm phần tử.
Ví dụ:
.parent {
box-sizing: border-box;
}
.child {
box-sizing: inherit; /* Kế thừa từ .parent */
}
Trong ví dụ này, phần tử con (.child) sẽ có cùng giá trị box-sizing như phần tử cha (.parent).
So Sánh Ngắn Gọn
Thuộc Tính
content-box
border-box
inherit
Mặc định
Có
Không
Kế thừa từ phần tử cha
Chiều rộng
Không bao gồm padding và border
Bao gồm padding và border
Kế thừa giá trị từ phần tử cha
Khi sử dụng
Khi bạn cần điều khiển kích thước nội dung độc lập với padding/border
Khi bạn muốn kích thước tổng thể chính xác, dễ quản lý
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.