Pixel เป็นหน่วยที่ใช้กันอย่างแพร่หลายในการกำหนดขนาดของ Element ใน CSS โดยมีความสัมพันธ์โดยตรงกับสิ่งที่ปรากฏบนหน้าจอ เช่น ขนาดของภาพหรือกล่อง เป็นหน่วยที่ใช้งานง่ายและพบเห็นได้ทั่วไป
เมื่อไหร่ควรใช้: ใช้เมื่อคุณต้องการความแม่นยำและควบคุมขนาดที่แน่นอน
เช่น ขนาดของภาพหรือปุ่มที่ต้องการให้มีขนาดคงที่ โดยไม่ขึ้นกับ Element ใดๆ
ตัวอย่างการใช้ Pixel
index.html
Result
Ems (em)
Ems เป็นหน่วยสัมพัทธ์ที่ขึ้นอยู่กับขนาดฟอนต์ของ Element ที่เป็น Parent หาก Element Parent มีขนาดฟอนต์24px ถ้ากำหนด padding เป็น 2em จะมีขนาด 48px (2 × 24px)
เมื่อไหร่ควรใช้: ใช้เมื่อคุณต้องการให้ขนาดฟอนต์ของ Element
Parent สัมพันธ์กับขนาดฟอนต์ของ Element Child ที่อยู่ภายใน
ตัวอย่างการใช้ Ems
index.html
Result
Rems (rem)
Rem เป็นหน่วยที่คล้ายกับ em แต่มีความแตกต่างที่สำคัญคือมันสัมพันธ์กับขนาดฟอนต์ของ root element (แท็ก <html>) เสมอ
เมื่อไหร่ควรใช้: ใช้เมื่อคุณต้องการให้ขนาดของ Element
สัมพันธ์กับขนาดฟอนต์ของ root element (แท็ก <html>)
ซึ่งทำให้การออกแบบมีความสม่ำเสมอและคาดเดาได้
ตัวอย่างการใช้ Rems
index.html
Result
คำแนะนำในการแก้ไขขนาด font ของ html
จริงๆแล้วไม่แนะนำให้ตั้งค่า font-size ของ html เป็น pixel
แต่เพื่อแสดงให้เห็นตัวอย่างเท่านั้น
เพราะอาจกระทบกับการตั้งค่าฟอนต์ของผู้ใช้ในเบราว์เซอร์ของพวกเขาได้
Percent (%)
หน่วยเปอร์เซ็นต์มักใช้ในการกำหนดขนาดความกว้างและความสูง โดยจะคำนวณจากขนาดของ Element หลัก
เมื่อไหร่ควรใช้: ใช้เมื่อคุณต้องการให้ขนาดของ Element
สัมพันธ์กับขนาดของ Element Parent เช่น ความกว้างหรือความสูงของกล่อง
ตัวอย่างการใช้ Percent
index.html
Result
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเลือกใช้หน่วยที่เหมาะสมและผลกระทบต่อการเข้าถึง (accessibility) คุณสามารถอ่านบทความที่เขียน โดย Josh W Comeau ได้อย่างน่าสนใจได้ที่ “The Surprising Truth about Pixels and Accessibility”.