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.
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.
Source: webdesign.tutsplus.com