CSS là gì và viết ở đâu?
CSS (Cascading Style Sheets) mô tả cách hiển thị: màu sắc, kích thước, vị trí, phông chữ. Có 3 cách viết CSS: inline (style=”…” trên thẻ), internal (<style> trong head), và external (file .css riêng). Luôn ưu tiên external vì gọn gàng nhất.
// File: style.css
/* File CSS bên ngoài, link vào HTML bằng <link> */
body {
font-family: "Inter", sans-serif;
margin: 0;
background-color: #f8f9fa;
color: #212529;
}
h1 {
color: #6c5ce7;
font-size: 2rem;
}
p {
line-height: 1.6;
max-width: 600px;
}
Selector: chọn phần tử để style
Selector cho CSS biết bạn muốn style thẻ nào. Có 3 loại cơ bản nhất:
| Loại | Cú pháp | Ví dụ | Chọn gì |
|---|---|---|---|
| Thẻ | tên-thẻ | h1 { } | Mọi thẻ h1 |
| Class | .tên-class | .card { } | Mọi thẻ có class=“card” |
| ID | #tên-id | #hero { } | Thẻ duy nhất có id=“hero” |
ID chỉ dùng được 1 lần trên trang (duy nhất). Class dùng lại được ở nhiều thẻ. 90% CSS nên dùng class — chỉ dùng ID khi cần JavaScript truy cập chính xác một phần tử.
Box model: padding, border, margin
Mỗi phần tử HTML là một “hộp” với 4 lớp: content (nội dung) → padding (đệm bên trong) → border (viền) → margin (khoảng cách bên ngoài). Hiểu box model là bước đầu để bố cục không bị “vỡ”.
// File: box.css
.card {
/* Content: chứa text, ảnh bên trong */
width: 300px;
/* Padding: khoảng đệm giữa content và border */
padding: 16px 24px;
/* Border: viền bao quanh */
border: 1px solid #dee2e6;
border-radius: 12px;
/* Margin: khoảng cách với phần tử bên ngoài */
margin-bottom: 16px;
/* Trick: box-sizing border-box để width bao gồm cả padding + border */
box-sizing: border-box;
}
Màu sắc và typography
Màu trong CSS viết bằng tên (red), mã hex (#6c5ce7), RGB (rgb(108, 92, 231)), hay HSL (hsl(249, 72%, 63%)). Font chữ đặt bằng font-family, nên dùng Google Fonts miễn phí thay vì font mặc định trình duyệt.
// File: typo.css
/* Nạp Google Font trong <head> của HTML */
/* <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet"> */
body {
font-family: "Inter", system-ui, sans-serif;
font-size: 16px;
line-height: 1.6;
}
.title {
font-weight: 800;
font-size: 2.5rem;
letter-spacing: -0.02em;
color: hsl(249, 72%, 63%);
}
❓ Thuộc tính nào trong box model tạo khoảng cách GIỮA nội dung và viền (border)?
- Phân biệt 3 cách viết CSS (inline, internal, external)
- Dùng được selector thẻ, class và ID
- Giải thích được box model: content, padding, border, margin
- Đặt được màu, font-family, font-size cho trang