CSSдаги rem бирликлари

em бирликлари ҳар доим қулай бўлмайди. Муаммо шундаки, агар бирорта тегга шрифт ўлчамини ўзгартирилса, у ўзига нисбатан ўлчам ҳисоблаган барча ворисли тегларга ҳам ўзгаради.

Шу сабабдан rem бирликлари киритилди. Ушбу бирликларнинг қийматлари ҳар доим html теги учун белгиланган шрифт ўлчамига нисбатан ҳисобланади.

Ҳамма билганингиздек, by default бу қиймат 16pxга тенг:

csshtml {
  font-size: 16px;
}

Келгила, мисолда кўрамиз. Бизда куйидаги теглар бор деб фараз қилайлик:

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

Келгила, уларга rem даги ўлчамларни белгилаймиз:

cssdiv {
  font-size: 2rem; /* 32px га мос келади */
}
p {
  font-size: 2rem; /* 32px га мос келади */
  margin: 2rem;    /* 32px га мос келади */
}
Задание 1

Бизда куйидаги HTML коди бор деб фараз қилайлик, учун биз масалаларни ечамиз:

html<main>
  <h1>header</h1>
  <section>
    <h2>header</h2>
    <p>
      text
    </p>
    <p>
      text
    </p>
  </section>
  <section>
    <h2>header</h2>
    <p>
      text
    </p>
    <p>
      text
    </p>
  </section>
</main>

Пикселларда берилган барча бирликларни rem га қайта ёзинг:

cssmain {
  margin: 64px auto 32px;
}

h1 {
  font-size: 32px;
}
section {
  font-size: 16px;
  margin-bottom: 32px;
}
h2 {
  font-size: 24px;
  margin-bottom: 32px;
}
p {
  font-size: 20px;
  margin-bottom: 12px;
}