ความเข้าใจของฉันจากการอ่านหัวข้อเช่นนี้คือจุดของ EMS คือการกำหนดการวัดทั้งหมดในหน้าเว็บของคุณด้วยขนาดตัวอักษรพื้นฐานซึ่งสามารถตั้งค่าได้โดยเบราว์เซอร์ของคุณ
ยกตัวอย่างเช่นใน Chrome settings -> show advanced settings -> web content -> font size: very large
ที่คุณสามารถทำเช่นนี้ได้โดยไป ฉันอาจทำสิ่งนี้ถ้าฉันใช้จอมอนิเตอร์ความละเอียดสูงขนาดใหญ่ที่อยู่ไกล
ฉันสร้างพลั่วเกอร์ที่แสดงความแตกต่างระหว่าง ems และ px ในการปรับขนาด
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
หากในเบราว์เซอร์ของฉันฉันตั้งขนาดตัวอักษรเป็นขนาดกลาง div เหล่านี้จะมีขนาดเท่ากันขนาดตัวอักษรพื้นฐานคือ 16px ดังนั้น 20em = 320px
อย่างไรก็ตามเมื่อฉันเปลี่ยนขนาดแบบอักษรของเบราว์เซอร์เป็นใหญ่มากเราจะเห็นว่า div ที่วัดเป็น EMS นั้นมีขนาดเพิ่มขึ้น
อย่างไรก็ตามเอฟเฟกต์นี้จะถูกลบหากฉันกำหนดขนาดตัวอักษรในแท็ก body เช่น
body {
font-size: 16px;
}
เพราะตอนนี้ css ของฉันกำลังเอาชนะขนาดตัวอักษรที่เบราว์เซอร์กำหนด
ฉันได้รับ ems นั้นจะมีความสำคัญในวันที่เบราว์เซอร์รุ่นเก่าที่ซูมบนหน้าเว็บจะขยายแบบอักษรเท่านั้น แต่ทุกวันนี้เบราว์เซอร์สมัยใหม่ขยายขนาดทั้งพิกเซลและแบบอักษรทำให้การแสดงผลเป็นปัญหาการซูม
มองไปรอบ ๆ ในเว็บ - เว็บไซต์จำนวนมากที่ทำขนาดตัวอักษรชุดในแท็กร่างกายของพวกเขา
Stack Overflow ยกตัวอย่างเช่นตั้ง font-size เป็น 13px ในแท็ก body การตั้งค่าขนาดตัวอักษรในเบราว์เซอร์ของฉันไม่ส่งผลกระทบต่อเค้าโครงของ Stack Overflow เพียงเล็กน้อย
ผลการค้นหาของ Google ไม่ได้ทำเช่นนี้
(ภาพหน้าจอทั้งสองนี้ถ่ายโดยกำหนดขนาดตัวอักษรของ Chrome ที่ใหญ่มากและซูม 100%)
ดังนั้นบางทีคุณอาจโต้แย้งว่าการตั้งค่าขนาดตัวอักษรในแท็กเนื้อหาเป็นความคิดที่ไม่ดีเพราะมันป้องกันการตั้งค่าการเข้าถึงของผู้ใช้ แต่เนื่องจากผู้ใช้สามารถซูมเพื่อเพิ่มขนาด (ซึ่งจะเพิ่มพิกเซลทั้งหมดตามสัดส่วน) - มันไม่ได้ดูเหมือนปัญหาจริง
body { font-size: XYZ; }
ใช้สไตล์ชีทของผู้ใช้ด้วยbody { font-size: ZYX !important; }