การเยื้องและหน่วย em ใน CSS

สมมติว่าเรามีแท็กดังต่อไปนี้:

html<div>
  <p>
    text
  </p>
</div>

สมมติว่าขนาดฟอนต์ของย่อหน้าถูกกำหนดเป็น px:

cssp {
  font-size: 20px;
}

เรามากำหนดระยะขอบ (margin) ของย่อหน้านี้ด้วยหน่วย em กัน ในกรณีนี้ ขนาดของระยะห่างจะคำนวณจากขนาดฟอนต์ของย่อหน้าเอง ไม่ใช่จากขนาดฟอนต์ของ parent:

cssp {
  font-size: 20px;
  margin: 2em;  /* ตรงกับ 40px */
}

สมมติว่าตอนนี้กำหนดขนาดให้ย่อหน้าเป็น em:

cssdiv {
  font-size: 20px;
}
p {
  font-size: 2em; /* ตรงกับ 40px */
}

เรามากำหนด margin ให้กับ element ของเราอีกครั้ง ในกรณีนี้ มันจะยังคงคำนวณจากค่าฟอนต์ปัจจุบันของ element เอง ในขณะที่ค่าฟอนต์นั้นจะคำนวณจาก parent:

cssdiv {
  font-size: 20px;
}
p {
  font-size: 2em; /* ตรงกับ 40px */
  margin: 2em;    /* ตรงกับ 80px */
}

โจทย์ฝึกปฏิบัติ

สมมติว่าเรามีโค้ด HTML ที่เราจะใช้แก้ไขโจทย์:

html<section>
  <div>
    <p>
      text
    </p>
  </div>
</section>
Задание 1

จงหาว่าขนาดฟอนต์และระยะขอบในหน่วย px ของแท็ก div จะเป็นเท่าใด หลังจากดำเนินโค้ดต่อไปนี้:

csssection {
  font-size: 10px;
}
div {
  font-size: 2em;
  margin: 2em;
}
Задание 2

จงหาว่าขนาดฟอนต์และระยะขอบในหน่วย px ของแท็ก div จะเป็นเท่าใด หลังจากดำเนินโค้ดต่อไปนี้:

csssection {
  font-size: 10px;
}
div {
  font-size: 2em;
  margin: 3em;
}
Задание 3

จงหาว่าขนาดฟอนต์และระยะขอบในหน่วย px ของแท็ก div จะเป็นเท่าใด หลังจากดำเนินโค้ดต่อไปนี้:

csssection {
  font-size: 10px;
}
div {
  font-size: 2em;
  margin: 0.5em;
}
Задание 4

จงหาว่าขนาดฟอนต์และระยะขอบในหน่วย px ของแท็ก p จะเป็นเท่าใด หลังจากดำเนินโค้ดต่อไปนี้:

csssection {
  font-size: 10px;
}
div {
  font-size: 2em;
}
p {
  font-size: 2em;
  margin: 2em;
}
Задание 5

จงหาว่าขนาดฟอนต์และระยะขอบในหน่วย px ของแท็ก p จะเป็นเท่าใด หลังจากดำเนินโค้ดต่อไปนี้:

csssection {
  font-size: 10px;
}
div {
  font-size: 1.5em;
}
p {
  font-size: 1em;
  margin: 1.5em;
}