CSS Sizing Units
Summary
- Các đơn vị sizing trong CSS.
- Numbers & Percentages: Đôi khi là số cụ thể (vd:
24px
), đôi khi là tỷ lệ (%), tính dựa trên phần tử cha hoặc giá trị trước đó, nhưopacity: 0.5
là 50% độ trong suốt. - Absolute & Relative Lengths: Đơn vị tuyệt đối (
cm, mm, px
) và đơn vị tương đối (em
,rem
) thường dùng trong thiết kế responsive, với relative lengths linh hoạt hơn. - Viewport & Angle Units: Đơn vị theo kích thước viewport (
vw
,vh
) dùng để điều chỉnh theo chiều rộng/chiều cao màn hình; đơn vị góc (vd:rotate(60deg)
).
Sizing Units
ch
- Character Unit:- Đơn vị
ch
trong CSS đo chiều rộng của ký tự0
trong font chữ hiện tại. Nếu font thay đổi ⇒ kích thướcch
cũng thay đổi tương ứng với chiều rộng của ký tự0
trong font mới. - Ví dụ:
max-width: 70ch
có nghĩa là phần tử sẽ có chiều rộng bằng 70 lần chiều rộng của ký tự0
trong font chữ đang dùng. - Công dụng: Thường được dùng để giới hạn số ký tự hiển thị trên 1 dòng, đảm bảo rằng văn bản không trở nên quá dài và khó đọc. Đặc biệt hữu ích trên các màn hình lớn.
- Đơn vị
Numbers
- Đôi khi là con số có đơn vị cụ thể (vd:
font-size: 24px
), nhưng đôi khi lại là 1 tỷ lệ nào đó, tương quan với tham số liền trước. (ví dụ:line-height: 1.5
~ 36px do font-size đang là 24px) - Có nhiều chỗ sẽ không viết rõ (px, rem, …), mà con số sẽ đại diện cho %. Ví dụ:
opacity: 0.5
là 50%,scale(1.2)
là scale 120%, …
Percentages
- Thông thường, “percentages” value sẽ được tính dựa vào phần tử cha. Ví dụ:
div p { width: 50% }
thì thẻ p sẽ có width = 50% so với phần tử cha bao ngoài - Nếu set
margin
hoặcpadding
theo %, nó sẽ tự động tính theo width của parent elements. - Tùy từng loại properties sẽ có cách tính khác nhau. Ví dụ:
width, margin, padding
thì tính theo parent elements width, nhưngtransformX(10%)
thì sẽ tính theo 10% của current element.
Dimensions and lengths
- Dimension (Kích thước). Ví dụ:
1rem
. - Length là dimensions that refer to distance.
Absolute lengths
cm, mm, Q, in, pc, pt, px
là absolute lengths.
Relative lengths
Relative lengths sẽ được tính toán dựa vào 1 giá trị base nào đó (khá giống với kiểu theo %). Các giá trị này thường được sử dụng trong responsive web.
Font-size related units
em
- Relative to the font size.1.5em
= 50% larger than the base computed font size of it’s parent.ex
- Tính theo chiều cao của chữx
trong font hiện tại, hoặc0.5em
.cap
- Chiều cao của chữ cái in hoa trong font heịen tại.ch
ic
rem
- Font size của root element (mặc định là 16px)lh
- Line height of the elementrlh
- Line height of the root element.
Viewport-relative units
vw
- 1% của viewport’s width. Thường được dùng để control font, resize header font based on the width of the pages so as user resizes, the font will also resize.vh
- 1% của viewport’s height.vi
- 1% của viewport’s size in the root element’s inline axis.vb
- 1% of viewport’s size in the root element’s block axis.vmin
- 1% of the viewport’s smaller dimension.vmax
- 1% the viewport’s larger dimension.
Settings element theo Relative lengths sẽ flexible hơn là setting fix cứng như px
.
Miscellaneous units
Angle units
- Đơn vị góc. Ví dụ:
transform: rotate(60deg)
- dpi: dots per inch. (
min-resolution: 192dpi
)