แนวทางการใช้งานหน่วย em ใน CSS
มาดูโค้ด HTML ครบถ้วนของเพจกัน:
<html>
<head>
<title></title>
</head>
<body>
<main>
<div>
<p>
text
</p>
</div>
</main>
</body>
<html>
โดยค่าเริ่มต้น แท็กทั้งหมดในเพจมีขนาดฟอนต์อยู่
อันที่จริงแล้ว สิ่งที่เกิดขึ้นคือ
แท็ก html มีขนาดฟอนต์เริ่มต้น:
html {
font-size: 16px; /* ค่าเริ่มต้น */
}
ดังนั้นเราจึงสามารถกำหนดขนาดให้กับแท็กในเพจ
เป็นหน่วย em ได้ โดยที่พวกมันจะคำนวณ
ขนาดของตัวเองเทียบกับ
parent โดยตรง
ตัวอย่างเช่น ลองกำหนดขนาดฟอนต์ให้กับแท็ก
main:
main {
font-size: 1.5em; /* เท่ากับ 24px */
}
และตอนนี้กำหนดขนาดฟอนต์ให้กับแท็ก div:
div {
font-size: 2em; /* เท่ากับ 48px */
}
สมมติว่าเรามีโค้ด HTML ซึ่งเราจะ ใช้แก้โจทย์ปัญหาต่าง ๆ:
<main>
<h1>header</h1>
<div>
<p>
text
</p>
<p>
text
</p>
</div>
<div>
<p>
text
</p>
<p>
text
</p>
</div>
</main>
ในโจทย์ปัญหาทั้งหมดด้านล่างนี้ ให้เขียนค่า em
แทนหน่วยทั้งหมดที่กำหนดเป็นพิกเซล:
main {
margin: 16px auto;
}
h1 {
font-size: 32px;
}
p {
font-size: 32px;
}
main {
margin: 32px auto;
}
h1 {
font-size: 32px;
}
div {
font-size: 16px;
margin-bottom: 32px;
}
p {
font-size: 20px;
}