แนวทางการใช้งานหน่วย em ใน CSS

มาดูโค้ด HTML ครบถ้วนของเพจกัน:

html<html>
  <head>
    <title></title>
  </head>
  <body>
    <main>
      <div>
        <p>
          text
        </p>
      </div>
    </main>
  </body>
<html>

โดยค่าเริ่มต้น แท็กทั้งหมดในเพจมีขนาดฟอนต์อยู่ อันที่จริงแล้ว สิ่งที่เกิดขึ้นคือ แท็ก html มีขนาดฟอนต์เริ่มต้น:

csshtml {
  font-size: 16px; /* ค่าเริ่มต้น */
}

ดังนั้นเราจึงสามารถกำหนดขนาดให้กับแท็กในเพจ เป็นหน่วย em ได้ โดยที่พวกมันจะคำนวณ ขนาดของตัวเองเทียบกับ parent โดยตรง

ตัวอย่างเช่น ลองกำหนดขนาดฟอนต์ให้กับแท็ก main:

cssmain {
  font-size: 1.5em; /* เท่ากับ 24px */
}

และตอนนี้กำหนดขนาดฟอนต์ให้กับแท็ก div:

cssdiv {
  font-size: 2em; /* เท่ากับ 48px */
}
Задание 1

สมมติว่าเรามีโค้ด HTML ซึ่งเราจะ ใช้แก้โจทย์ปัญหาต่าง ๆ:

html<main>
  <h1>header</h1>
  <div>
    <p>
      text
    </p>
    <p>
      text
    </p>
  </div>
  <div>
    <p>
      text
    </p>
    <p>
      text
    </p>
  </div>
</main>

ในโจทย์ปัญหาทั้งหมดด้านล่างนี้ ให้เขียนค่า em แทนหน่วยทั้งหมดที่กำหนดเป็นพิกเซล:

Задание 2
cssmain {
  margin: 16px auto;
}

h1 {
  font-size: 32px;
}
p {
  font-size: 32px;
}
Задание 3
cssmain {
  margin: 32px auto;
}

h1 {
  font-size: 32px;
}
div {
  font-size: 16px;
  margin-bottom: 32px;
}
p {
  font-size: 20px;
}