Cấu Trúc HTML
Page Title

Hello World

Các Phần Tử Phổ Biến
Văn Bản & Tiêu Đề

Heading 1

...
Heading 6

Paragraph text

Bold Italic

Links & Hình Ảnh
Link text #section">Anchor link Description
Danh Sách
  1. First
Forms
Loại Input
Select & Textarea
HTML Ngữ Nghĩa
<header>Nội dung giới thiệu hoặc container điều hướng
<nav>Các liên kết điều hướng
<main>Nội dung chính của trang (một lần mỗi trang)
<section>Nhóm nội dung theo chủ đề
<article>Nội dung tự đứng vững
<aside>Sidebar hoặc nội dung bên lề
<footer>Phần chân cho section hoặc trang
<figure>Hình ảnh/biểu đồ có chú thích
<figcaption>Chú thích cho
Selectors CSS
Selectors Cơ Bản
elementp { } — tất cả phần tử

.class.card { } — selector class
#id#main { } — selector id
*Selector toàn thể (tất cả phần tử)
Combinators
A BCon cháu (B bên trong A)
A > BChỉ con trực tiếp
A + BAnh em liền kề (B ngay sau A)
A ~ BAnh em chung (B sau A)
Pseudo-classes
:hoverChuột di qua phần tử
:focusPhần tử có focus
:first-childCon đầu tiên của cha
:nth-child(n)Con thứ n (2n = chẵn, odd = lẻ)
Box Model
.box { margin: 10px; /* outside */ border: 1px solid #333; /* edge */ padding: 15px; /* inside */ width: 200px; box-sizing: border-box; /* include pad+border */ }
Cú Pháp Rút Gọn
margin: 10pxTất cả các cạnh
margin: 10px 20pxTrên/dưới | trái/phải
margin: 10px 20px 15pxTrên | trái/phải | dưới
margin: 10px 20px 15px 5pxTrên | phải | dưới | trái
Flexbox
Container
.flex-container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* main axis */ align-items: center; /* cross axis */ gap: 10px; flex-wrap: wrap; }
Thuộc Tính Item
flex: 1Mở rộng để lấp đầy không gian có sẵn
flex-grow: 2Tỷ lệ mở rộng so với anh em
flex-shrink: 0Không thu nhỏ dưới kích thước cơ sở
flex-basis: 200pxKích thước ban đầu trước khi mở/thu
align-self: flex-endGhi đè căn chỉnh container
order: -1Thứ tự hiển thị (mặc định 0)
Grid
Container
.grid { display: grid; grid-template-columns: 1fr 2fr 1fr; grid-template-rows: auto; gap: 10px; }
Đặt Vị Trí Item
.item { grid-column: 1 / 3; /* span col 1-2 */ grid-row: 1 / 2; } /* shorthand: repeat, minmax */ grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
Định Vị
staticLuồng mặc định (không có thuộc tính offset)
relativeOffset từ vị trí thông thường
absoluteOffset từ tổ tiên được định vị gần nhất
fixedOffset từ viewport (giữ nguyên khi cuộn)
stickyRelative đến ngưỡng cuộn, sau đó cố định
Ví Dụ
.parent { position: relative; } .child { position: absolute; top: 0; right: 0; /* top-right corner */ }
Media Queries
/* Mobile-first: base styles for small screens */ .container { padding: 10px; } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 1024px) { .container { max-width: 960px; } }
Breakpoints Phổ Biến
480pxĐiện thoại nhỏ
768pxMáy tính bảng
1024pxMáy tính nhỏ / tablet ngang
1280pxMáy tính để bàn