em 等于当前元素的以 px 为单位的 font-size 大小,而当前元素的 font-size 有两种情况,第一种是给这个元素明确设置了 font-size 属性,第二种是没有设置,如果没有设置,那就是父元素的 font-size,如果一级级找上去都没有找到 font-size 属性,那就是浏览器的默认字体大小,通常是 16px,但不一定,而且浏览器的默认字体大小可以由用户更改。

设备的默认字体大小通常是比较适合阅读的字体大小,em 和 rem 都可以基于这个数值对元素的大小进行设置,是比较理想的做法,在 em 或 rem 前面加一个数字,就可以方便地设置为默认字体的多少倍,例如 2rem 是 2 倍 html 字体大小。

有些用户会更改浏览器的默认字体大小,默认是 16px,他们可能会改成 20px 等,以方便自己阅读。如果开发者使用 px 为单位设置网页的字体大小,那这个更改并不会影响页面的显示效果,可能会给用户带来不便。

在使用 em 的元素中同时以 rem 为单位设置 font-size 似乎是一种比较好的做法。

所以可以默认用 rem,然后思考这个属性是否需要根据字体大小变化而变化,如果是就改为 em。