Nhiều người khi học về HTML, CSS hay làm việc với chúng đều thấy một vấn đề khó hiểu đó là thuộc tính kích thước font chữ (font-size). Trong phương diện tin học ứng dụng, có nhiều đơn vị khác nhau mà bạn có thể dùng để khai báo kích thước font chữ khi nó được hiển thị trên màn hình, thông dụng nhất là px, pt, em và %, ngoài ra thì có pc, ex, in… Sẽ không có câu trả lời hoàn hảo cho câu hỏi: Sử dụng đơn vị nào là đúng?, vì mỗi đơn vị được dùng trong một hoàn cảnh khác nhau.
1. Px và Pt
Nhiều người hay nhầm lẫn hoặc cho rằng không có sự khác biệt giữa px, pt và em, điều đó thật sai lầm!
– px là chữ viết tắt của từ Pixel, là đơn vị điểm ảnh trên màn hình. Một pixel tương đương với một điểm trên màn hình máy tính, là đơn vị hiển thị nhỏ nhất trên màn hình. Số lượng điểm ảnh này phụ thuộc vào kích cỡ màn hình và độ phân giải (resolusion) của màn hình đó. Kích thước của một điểm ảnh cũng phụ thuộc vào kích thước màn hình và độ phân giải khác nhau thì không giống nhau.
– pt là chữ viết tắt của từ Point, là đơn vị được sử dụng trong in ấn. Một point xấp xỉ gần bằng 1/72 inch. Điều đó có nghĩa là kích thước 1 point là cố định dù trên bất cứ màn hình nào, độ phân giải nào. Thông thường với màn hình CRT 15″ (kích thước màn hình thật sự chỉ khoảng 14″2/9) và ở độ phân giải cao nhất là 1024×768 thì DPI là 96 – có nghĩa là 96 pixels trên 1 inch, tức là 1 px = 0.75 pt. Nhưng cũng màn hình đó nếu set về độ phân giải là 800×600 thì DPI là 56.25, có nghĩa là 1 px = 1.28 pt.
Vậy chúng ta sử dụng Px và Pt như thế nào?
– Theo kinh nghiệm của tôi thì với những trang web thuần text hoặc không có những bố cục phức tạp thì có thể dùng pt, kích thước chữ sẽ không thay đổi trên mọi màn hình. Bạn có thể dùng font-size = 12pt.
– Với những trang có HTML phức tạp thì nên dùng px, lí do là px thay đổi trên các màn hình khác nhau nên bố cục các thành phần sẽ không bị phá vỡ, đây là một điều rất quan trọng đối với người thiết kế web. Một chú ý là các thành phần trên web đều được đo bằng px.
2. em và %:
– em và % đều là đơn vị đo lường tương đối. 1 em và 100% sẽ bằng kích thước của font chữ hiện tại, ví dụ nếu font-size của tài liệu là 12pt thì 1em = 12pt = 100%.
– Gần đây, các thiết bị di động ra đời với các màn hình có độ phân giải rất lớn và ứng dụng web trên đó thì ngày càng nhiều, đòi hỏi font-size phải được thay đổi linh hoạt hơn nữa, người ta bắt đầu sử dụng % và em, nhưng 2 đơn vị này thì lại khó tưởng tượng, vì nó chỉ là tương đối.
– Có một cách đơn giản để sử dụng em mà không cần phải chi ly tính toán giá trị chính xác do cái tỉ lệ 1em = 16px gây ra. Ta sẽ thiết lập font-size toàn trang như sau: body {font-size:62.5%}, khi đó 1em sẽ là: 16(px)*0.625 = 10(px). Và như vậy thì việc tính toán kích cỡ của font chữ sẽ trở nên đơn giản: 1.2em = 12px, 1.4em = 14px,…
Xét về cơ bản, em và % là giống nhau. Nhưng xét về mặt…không cơ bản, em và % có khác nhau không? Câu trả lời là: CÓ
Có thể thấy, nếu text-size là trung bình thì không có sự khác biệt giữa em và %, nhưng khi thiết lập “smallest” và “Largest” thì sự khác biệt là quá rõ ràng.
Một vài kết luận
- Pt là cố định, không thay đổi trên mọi màn hình trong khi px thì thay đổi trên các màn hình có kích thước và phân giải khác nhau. Em và % là các đơn vị đo tương đối.
- Px là đơn vị đo phổ biến hiện nay, và được coi là “chấp nhận được”, người dùng có thể dùng chức năng zoom trên trình duyệt để thay đổi kích thước font. Font-size phù hợp cho văn bản thường là 12px.
- Các màn hình của thiết bị di động có độ phân giải rất lớn, khi đó font-size = 12px lại trở lên quá nhỏ để có thể đọc được, em và % sẽ là giải pháp cho trường hợp này.