Bài 24: Đơn vị CSS – px, %, em, rem, vw, vh

yanyan

By yanyan

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

Trong CSS, mọi thứ đều có kích thước: font chữ, chiều rộng, khoảng cách, khung, v.v.

Để kiểm soát chúng chính xác và linh hoạt, bạn cần hiểu rõ đơn vị đo – và chọn đúng đơn vị sẽ giúp giao diện:

  • Dễ co giãn, responsive tốt
  • Giữ tỷ lệ chuẩn, không bị “vỡ layout”
  • Tối ưu cho nhiều loại thiết bị, độ phân giải

1. Các loại đơn vị trong CSS

Chia làm 2 nhóm:

NhómVí dụ
Đơn vị tuyệt đốipx, pt, cm
Đơn vị tương đối%, em, rem, vw, vh

2. px – đơn vị cố định (pixel)

h1 {
  font-size: 24px;
}
  • 1 pixel = 1 điểm ảnh (tùy thiết bị)
  • Không thay đổi theo kích thước màn hình
  • Dễ dùng, nhưng thiếu linh hoạt khi responsive

3. % – phần trăm của phần tử cha

.container {
  width: 80%;
}
  • Phụ thuộc vào kích thước phần tử chứa nó
  • Thường dùng để làm layout co giãn
  • Cũng có thể dùng cho padding, margin, height

4. em – theo kích thước font của phần tử cha

p {
  font-size: 1.2em; /* = 1.2 * font-size của cha */
}
  • 1em = 100% cỡ chữ của cha
  • Nếu cha là 16px, thì 1.5em = 24px
  • Dùng cho font-size, padding, margin…

Lưu ý: Có thể bị “nhân lũy tiến” nếu lồng nhiều lớp.


5. rem – theo kích thước font của html (gốc)

html {
  font-size: 16px;
}

h2 {
  font-size: 2rem; /* = 32px */
}
  • rem = root em (font-size của thẻ html)
  • Ổn định hơn em, ít bị ảnh hưởng bởi cha
  • Rất phổ biến trong thiết kế hiện đại

6. vw, vh – theo kích thước khung nhìn

Đơn vịÝ nghĩa
1vw1% chiều rộng của màn hình
1vh1% chiều cao của màn hình

Ví dụ:

.hero {
  height: 100vh; /* Chiếm toàn màn hình */
  width: 100vw;
}

Rất hữu ích cho layout toàn trang, hero banner, v.v.


7. clamp – kết hợp nhiều đơn vị

h1 {
  font-size: clamp(18px, 5vw, 32px);
}
  • Kích thước co giãn theo khung nhìn (vw)
  • Nhưng giới hạn min – max để không quá to hay quá nhỏ
  • Rất mạnh cho responsive typography

8. So sánh nhanh

Đơn vịƯu điểmNhược điểm
pxDễ kiểm soát, chính xácKhông responsive
%Co giãn theo chaPhức tạp nếu cha không cố định
emLinh hoạt, phù hợp cho paddingDễ gây lồng hiệu ứng không mong
remỔn định, dễ predictPhải thiết lập html {font-size}
vw/vhTốt cho layout toàn trangPhức tạp khi dùng với header/footer

Gợi ý sử dụng đơn vị

Trường hợpĐơn vị nên dùng
Font chữ toàn trangrem, clamp
Khoảng cách trong phần tửem, rem
Layout co giãn theo màn hình%, vw, vh
Header toàn màn hình100vh
Padding/margin theo tỷ lệ chữem

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.