rem and em code example
Example 1: rem vs em
em -> is relative to the font-size of its direct or nearest parent
rem -> is relative to the html (root) font-size
Example 2: em vs rem
1EM or 1REM (r = root em)
The difference is inheritance.
The Rem value is based on the root element (html).
What is meant here is the font size for html and not the font size for the documet body.
... Em is based on the font size of each
Parent element.
Example 3: rem vs em
/* rem */
Translation of rem units to pixel value is determined by the font size
of the html element. This font size is influenced by inheritance from
the browser font size setting unless explicitly overridden with a unit
not subject to inheritance (px or vw).
/* em */
Translation of em units to pixel values is determined by the font size
of the element they’re used on. This font size is influenced by
inheritance from parent elements unless explicitly overridden with
a unit not subject to inheritance. ---> change the menu’s font size the
spacing (paddings etc) around the menu items will scale proportionately,
independently of the rest of the layout.
Example 4: difference between rem and em css
Explanation: If you run these code you understand differences between rem vs em
In this example, font-size of first h1 is 48px (nearest parent) and font-size
of second h1 is 32px ( parent of page which is html)
<style>
html {
font-size: 32px;
}
.font {
font-size: 48px;
}
.em {
font-size: 1em;
}
.rem {
font-size: 1rem;
}
</style>
<body>
<div class="font">
<h1 class="em">Hey guys!</h1>
</div>
<div class="font">
<h1 class="rem">Hey guys!</h1>
</div>
</body>