REM jedinice u CSS-u
Em jedinice nisu uvek praktične. Problem
je u tome što, ako promenite veličinu fonta jednom
tegu, ona će se promeniti i svim njegovim potomcima,
koji računaju svoju veličinu u odnosu na njega.
Zbog toga su uvedene rem jedinice.
Vrednosti ovih jedinica se uvek računaju
u odnosu na veličinu fonta postavljenu za
teg html.
Kao što već znate, podrazumevana vrednost
je 16px:
html {
font-size: 16px;
}
Pogledajmo na primeru. Pretpostavimo da imamo ove tegove:
<div>
<p>
tekst
</p>
</div>
Hajde da im postavimo veličine u rem:
div {
font-size: 2rem; /* odgovara 32px */
}
p {
font-size: 2rem; /* odgovara 32px */
margin: 2rem; /* odgovara 32px */
}
Pretpostavimo da imamo HTML kod, za koji ćemo rešavati zadatke:
<main>
<h1>zaglavlje</h1>
<section>
<h2>zaglavlje</h2>
<p>
tekst
</p>
<p>
tekst
</p>
</section>
<section>
<h2>zaglavlje</h2>
<p>
tekst
</p>
<p>
tekst
</p>
</section>
</main>
Prepišite u rem
sve jedinice koje su zadate u pikselima:
main {
margin: 4rem auto 2rem; /* 64px / 16px = 4rem, 32px / 16px = 2rem */
}
h1 {
font-size: 2rem; /* 32px / 16px = 2rem */
}
section {
font-size: 1rem; /* 16px / 16px = 1rem */
margin-bottom: 2rem; /* 32px / 16px = 2rem */
}
h2 {
font-size: 1.5rem; /* 24px / 16px = 1.5rem */
margin-bottom: 2rem; /* 32px / 16px = 2rem */
}
p {
font-size: 1.25rem; /* 20px / 16px = 1.25rem */
margin-bottom: 0.75rem; /* 12px / 16px = 0.75rem */
}