Sobes.tech
Middle+

Kuo skiriasi rem nuo em?

sobes.tech AI

Atsakymas iš AI

rem ir em yra santykiniai matavimo vienetai CSS, kurie naudojami dydžių nustatymui, tačiau skiriasi pagal atskaitos pagrindą.

  • em — santykinis vienetas, pagrįstas tėvinio elemento šrifto dydžiu. Pavyzdžiui, jei tėvinio elemento šrifto dydis yra: 16px, tada 1em = 16px. Jei vaikų elemento šrifto dydis yra: 1.5em, jo dydis bus 24px.

  • rem — santykinis vienetas, pagrįstas šaknies elemento (dažniausiai <html>) šrifto dydžiu. Pavyzdžiui, jei <html> turi šrifto dydį: 16px, tada 1rem visada yra lygus 16px, nepriklausomai nuo įdėjimo.

Pagrindinis skirtumas:

  • em priklauso nuo konteksto (nuo tėvinio elemento), kas gali sukelti grandininį dydžių daugybinimą įdėjimo metu.
  • rem visada yra fiksuotas pagal šaknį, tai palengvina dydžių valdymą ir daro juos labiau prognozuojamus.

Pavyzdys:

html {
  font-size: 16px;
}

.parent {
  font-size: 20px; /* 1em = 20px `.parent` viduje */
}

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

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

Naudokite rem globaliems dydžiams, kad išvengtumėte netikėtų pokyčių, ir em, kai norite mastelio pagal vietinį kontekstą.