Bài 10: Mô hình hộp (Box Model) trong CSS
Mô hình hộp trong CSS
Tất cả các phần tử HTML có thể được coi là các hộp (box). Trong CSS, thuật ngữ “mô hình hộp” (hay box model) được sử dụng khi nói về thiết kế bố cục website (layout).
Mô hình hộp trong CSS về cơ bản là một hình hộp bao quanh phần tử HTML, bao gồm: lề (margin), viền (border), phần đệm (padding) và nội dung (content). Hình ảnh dưới đây minh họa mô hình hộp:

Giải thích:
- Content – Nội dung của hộp, nơi văn bản và hình ảnh hiển thị
- Padding – Phần đệm, xác định khoảng không gian giữa nội dung hiển thị của một phần tử với đường viền của nó
- Border – Đường viền bao quanh phần đệm và nội dung
- Margin – khoảng cách từ phần tử được chọn ra phía bên ngoài của thành phần đó.
Mô hình hộp cho phép chúng ta thêm 1 đường viền bao xung quanh các phần tử và xác định không gian giữa các phần tử.
Ví dụ 1
div {
background-color: lightgrey;
width: 300px;
border: 15px solid green;
padding: 50px;
margin: 20px;
}
Chiều rộng và chiều cao của một phần tử
Để thiết lập chính xác chiều rộng và chiều cao của một phần tử trong tất cả các trình duyệt, bạn cần biết mô hình hộp hoạt động như thế nào.
Quan trọng: Khi bạn đặt thuộc tính chiều rộng và chiều cao của một phần tử bằng CSS, bạn chỉ cần đặt chiều rộng và chiều cao của vùng nội dung. Để tính kích thước đầy đủ của một phần tử, bạn phải cộng thêm phần đệm, đường viền và lề.
Ví dụ 2
Đây là phần tử <div> có tổng độ rộng là 350px:
div {
width: 320px;
padding: 10px;
border: 5px solid gray;
margin: 0;
}
Đây là phần tính toán:
+ 20px (trái + phải của phần đệm)
+ 10px (trái + phải của viền)
+ 0px (trái + phải của lề)
= 350px
Tổng chiều rộng của một phần tử được tính như sau:
Tổng chiều rộng (width) của phần tử = chiều rộng (width) + đệm trái (left padding) + đệm phải (right padding) + viền trái (left border )+ viền phải (right border) + lề trái (left margin) + lề phải (right margin)
Tổng chiều cao của một phần tử được tính như sau:
Tổng chiều cao (height) phần tử = chiều cao (height) + phần đệm trên cùng (top padding) + phần đệm dưới (bottom padding) + viền trên (top border) + viền dưới (bottom border) + lề trên (top margin) + lề dưới (bottom margin)
- Next story Bài 11: Outline trong CSS
- Previous story Một số ứng dụng của xử lý ngôn ngữ
You may also like...
-
Bài 4: Các câu lệnh SQL cập nhật cơ sở dữ liệu
by Phan Tiến · Published 25/12/2020 · Last modified 10/03/2021
-
Tutorial #4: Những thách thức và giải pháp trong kiểm thử thiết bị di động
by Trịnh Hồng · Published 30/07/2019 · Last modified 01/08/2019
-
Bài 2: Cài đặt công cụ và Làm quen với DB Browser for SQLite
by Hoàng Tuân · Published 17/12/2025
-
Khoá học / Sách, bài giảng / Tài liệu / Tin học văn phòng / Tin học đại cương
13/10/2015
-
Bài 14: Project thực tế – Xây dựng Ứng dụng Quản lý Chi tiêu cá nhân (Expense Manager) | Tìm ở đây says:[…] ta không nên nhồi nhét tất cả vào 1 bảng.
-
Bài 11: View, Index và Trigger – Tối ưu và Tự động hóa | Tìm ở đây says:
-
Bài 10: Các hàm tính toán gộp (Aggregate Functions) và Gom nhóm (GROUP BY) | Tìm ở đây says:
-
Bài 9: Truy vấn nhiều bảng (JOINs) – Sức mạnh của sự liên kết | Tìm ở đây says:
-
Bài 7: Cập nhật (UPDATE) và Xóa (DELETE) dữ liệu – Cẩn thận “củi lửa”! | Tìm ở đây says:
-
Bài 6: Sắp xếp (ORDER BY) và Giới hạn dữ liệu (LIMIT) | Tìm ở đây says:
-
Bài 5: Truy vấn dữ liệu cơ bản (SELECT) | Tìm ở đây says:
-
Bài 4: Thêm dữ liệu (INSERT) và Cách Import từ Excel vào SQLite | Tìm ở đây says:
-
Bài 2: Cài đặt công cụ và Làm quen với DB Browser for SQLite | Tìm ở đây says:
-
Phan Tiến says:
-
tungnv214@gmail.com says:
-
bichhuynh says:
-
Giới thiệu về thư viện PyQt6 | Tìm ở đây says:
-
Xác thực Password với biểu thức chính quy (Regular Expression) trong Python | Tìm ở đây says:
-
Minh Nguyen says:
-
zsaka2003 says:
-
zsaka2003 says:
-
Phan Tiến says:
-
viet5121198 says:
- .NET C# Computer Graphic CSS Công nghệ phần mềm GIS Google Classroom google maps html html5 học css Học lập trình học python học sql Java JavaScript kiểm thử cho thiết bị di động Kiểm thử phần mềm lap trinh lập trình C# lập trình C/C++ lập trình cơ sở dữ liệu Lập trình Java Lập trình phân tán lập trình python lập trình scratch Lập trình đồ hoạ máy tính MS Excel ngôn ngữ C OpenGL PHP phát triển phần mềm Phần mềm học trực tuyến python Sharepoint SQL SQL Server Sử dụng mảng CSharp T-SQL testing application testing mobile thủ thuật Excel tin học ứng dụng Tính toán song song xử lý số liệu
More
Danh mục
- .Net (39)
- Access (1)
- Android (2)
- API (1)
- Bài báo (2)
- Bài tập C/C++ (9)
- Bài tập Java (43)
- Bài tập Python (24)
- Cấu trúc dữ liệu và giải thuật (1)
- CSS (49)
- Demo (1)
- Excel (31)
- GIS (14)
- Google Maps (7)
- Học lập trình Python (2)
- Học Lập trình qua Project (5)
- HTML (55)
- JavaScript (4)
- Khoá học (230)
- Khoa học dữ liệu (1)
- Kiểm thử phần mềm (15)
- Kiểm thử ứng dụng di động (3)
- Lập trình C (26)
- Lập trình C++ (9)
- Lập trình Java (7)
- Lập trình Mobile (2)
- Lập trình Scratch (15)
- Learning English (1)
- Nghiên cứu (5)
- Phát triển ứng dụng (2)
- Phát triển ứng dụng WEB (1)
- PHP (12)
- PowerPoint (4)
- PyQt6 và Qt Designer (7)
- Python (6)
- Sách, bài giảng (25)
- SEO (1)
- Sharepoint (4)
- SQL (22)
- SQLite (14)
- Tài liệu (24)
- Thư giãn (8)
- Thủ thuật (33)
- Tin học trẻ Bảng A (Tiểu học) (1)
- Tin học văn phòng (44)
- Tin học đại cương (9)
- Tin tức (31)
- Tính toán phân tán (3)
- Tính toán song song (7)
- Tổng hợp (3)
- Tuyển sinh – Việc làm (2)
- Word (5)
- Xử lý ngôn ngữ (4)
- Đồ hoạ máy tính (3)
