Sobes.tech
Middle+

V čom sa líši rem od em?

sobes.tech AI

Odpoveď od AI

rem a em sú relatívne jednotky v CSS, ktoré sa používajú na určenie rozmerov, ale líšia sa v základnej referenčnej báze.

  • em — relatívna jednotka založená na veľkosti písma rodičovského prvku. Napríklad, ak je veľkosť písma rodiča: 16px, potom 1em = 16px. Ak v dieťatom prvku je veľkosť písma: 1.5em, jeho veľkosť bude 24px.

  • rem — relatívna jednotka založená na veľkosti písma koreňového prvku (zvyčajne <html>). Napríklad, ak <html> má veľkosť písma: 16px, potom 1rem je vždy rovný 16px, bez ohľadu na vnoženie.

Hlavný rozdiel:

  • em závisí od kontextu (od rodičovského prvku), čo môže viesť k reťazovému násobeniu veľkostí pri vnožení.
  • rem je vždy pevné voči koreňu, čo uľahčuje správu veľkostí a robí ich predvídateľnejšími.

Príklad:

html {
  font-size: 16px;
}

.parent {
  font-size: 20px; /* 1em = 20px vo vnútri .parent */
}

.child-em {
  font-size: 1.5em; /* 1.5 * 20px = 30px */
}

.child-rem {
  font-size: 1.5rem; /* 1.5 * 16px = 24px */
}

Používajte rem pre globálne veľkosti, aby ste predišli neočakávaným zmenám, a em, keď chcete škálovať vzhľadom na lokálny kontext.