em und rem sind auf Schriftarten basierende relative Einheiten und es ist unterschiedlich, ems für Schriftarten oder für die Länge zu verwenden, sodass sowohl ems als auch rems auf Schriftarten basieren. Der Unterschied zwischen ihnen besteht jedoch darin, dass ems das übergeordnete oder das aktuelle Element als Referenz für rems verwenden Verwenden Sie die Root-Schriftgröße als Referenz.
Wenn wir ems für Schriftgrößen verwenden möchten, ist die Referenz einfach die von den Eltern berechnete Schriftgröße, ähnlich wie bei Prozentsätzen.
Im folgenden Beispiel ergibt eine Schriftgröße von drei Em im untergeordneten Header-Element 72 Pixel, einfach weil dies die dreifache übergeordnete Schriftgröße ist (150/100) * 16 = 24px. Nun zur Länge, es ist nur ein bisschen anders. Das 2em-Auffüllen in der Kopfzeile verwendet, da es sich um eine Längenmessung handelt, die Schriftgröße des aktuellen Elements als Referenz und wir wissen bereits, dass dies 24 Pixel sind. 2em führt also zu einem 48-Pixel-Auffüllen, verstanden? Es ist ein subtiler Unterschied, aber ein wichtiger. Wenn Sie em für Schriftarten verwenden, ist die Referenz das übergeordnete Element und für die Länge die Referenz das aktuelle Element.
html,body{
font-size:16px;
width:80vw;
}
header{
font-size:150%;
padding 2em;
margin-bottom:10rem;
height:90vh;
widht 1000px;
}
header-child{
font-size:3em;
padding:10%;
}
In Bezug auf den Rem funktioniert es sowohl für Schriftgrößen als auch für Schriftlängen auf die gleiche Weise, da immer nur die Root-Schriftgröße als Referenz verwendet wird. Dies bedeutet, dass das 10-Rem-Padding, das wir hier haben, 160 Pixel ergibt, da die Root-Schriftgröße 16 beträgt.