Bài 6: Box Model – nền tảng quan trọng để căn chỉnh bố cục web

yanyan

By yanyan

Đăng ngày Tháng 7 12, 2025


1. Box Model là gì?

Trong CSS, mọi phần tử HTML đều được coi là một “hộp” (box) gồm 4 lớp:

+-----------------------------+
|         Margin              |
|  +-----------------------+  |
|  |       Border          |  |
|  |  +-----------------+  |  |
|  |  |   Padding       |  |  |
|  |  |  +-----------+  |  |  |
|  |  |  |  Content  |  |  |  |
|  |  |  +-----------+  |  |  |
|  |  +-----------------+  |  |
|  +-----------------------+  |
+-----------------------------+

2. Các thành phần trong Box Model

a. Content – nội dung thực tế (text, ảnh…)

width: 300px;
height: 150px;

→ Kích thước phần nội dung.


b. Padding – khoảng cách bên trong, giữa nội dung và viền

padding: 20px;

→ Tạo khoảng trắng giữa nội dung và viền.


c. Border – đường viền bao quanh phần tử

border: 2px solid #333;

→ Có thể đổi màu, kiểu viền: solid, dashed, dotted…


d. Margin – khoảng cách bên ngoài, giữa phần tử này với phần tử khác

margin: 30px;

→ Dùng để “đẩy” phần tử ra xa các phần tử khác.


3. Minh hoạ đơn giản

.box {
  width: 200px;
  height: 100px;
  padding: 20px;
  border: 5px solid black;
  margin: 30px;
}

→ Tổng kích thước bên ngoài:

  • Chiều rộng thực tế:
    = content (200px) + padding trái/phải (40px) + border trái/phải (10px)
    = 250px
  • Chiều cao thực tế:
    = content (100px) + padding trên/dưới (40px) + border trên/dưới (10px)
    = 150px

Margin không tính vào kích thước hộp, nhưng tạo khoảng cách giữa các phần tử.


4. Mẹo: Dùng box-sizing: border-box

Mặc định, CSS tính kích thước chỉ là content.
Muốn tính cả padding + border trong widthheight → dùng:

* {
  box-sizing: border-box;
}

→ Giúp dễ kiểm soát bố cục hơn nhiều.


5. Viết tắt (shorthand)

Cụ thểGộp lại
margin-top, margin-right, margin-bottom, margin-leftmargin: 10px 20px 30px 40px;
padding-top, ...padding: 10px 15px;

Quy tắc:

  • 1 giá trị: áp dụng cho tất cả
  • 2 giá trị: trên/dưới – trái/phải
  • 3 giá trị: trên – trái/phải – dưới
  • 4 giá trị: trên – phải – dưới – trái (chiều kim đồng hồ)

6. Thực hành

style.css

.box {
  width: 250px;
  height: 150px;
  background-color: #fce4ec;
  padding: 20px;
  border: 5px dashed #e91e63;
  margin: 30px auto;
  box-sizing: border-box;
}

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Bài 6 – Box Model</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <div class="box">
    Đây là phần nội dung bên trong một box model.
  </div>

</body>
</html>

7. Ghi nhớ

Thành phầnVị tríTác dụng
ContentGiữaHiển thị nội dung (text, ảnh)
PaddingBên trongCách viền và nội dung
BorderBao viềnViền bao quanh padding
MarginBên ngoàiCách các phần tử khác

📂 Chuyên mục:

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

[global_subscribe_form]

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.