Rem vienetai CSS

em vienetai ne visada yra patogūs. Problema tai, kad jei pakeisite šrifto dydį vienai ženklui, tai jis pasikeis ir visiems jo palikuonims ženklams, kurie apskaičiuoja savo dydį santykinai jo.

Štai kodėl buvo įvesti rem vienetai. Šių vienetų vertės visada skaičiuojamos santykiu su šrifto dydžiu, nustatytu ženklui html.

Kaip jau žinote, pagal nutylėjimą ši reikšmė yra lygi 16px:

csshtml {
  font-size: 16px;
}

Pažiūrėkime pavyzdžiu. Tarkime, mes turime šiuos ženklus:

html<div>
  <p>
    tekstas
  </p>
</div>

Nustatykime jiems dydžius rem vienetais:

cssdiv {
  font-size: 2rem; /* atitinka 32px */
}
p {
  font-size: 2rem; /* atitinka 32px */
  margin: 2rem;    /* atitinka 32px */
}
Задание 1

Tarkime, mes turime HTML kodą, kuriam mes spręsime uždavinius:

html<main>
  <h1>antraštė</h1>
  <section>
    <h2>antraštė</h2>
    <p>
      tekstas
    </p>
    <p>
      tekstas
    </p>
  </section>
  <section>
    <h2>antraštė</h2>
    <p>
      tekstas
    </p>
    <p>
      tekstas
    </p>
  </section>
</main>

Perrašykite į rem visus vienetus, nurodytus pikseliais:

cssmain {
  margin: 4rem auto 2rem;
}

h1 {
  font-size: 2rem;
}
section {
  font-size: 1rem;
  margin-bottom: 2rem;
}
h2 {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
p {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
}