Defining font sizes in
px gives you control but it prevents the user from increasing the font size on some browsers (till IE9).
em is more accessible and allows for resizing, but since the unit is relative to the font size of its parent it has a compounding effect which is hard to manage.
rem unit is relative only to the root
html element’s font size. By setting the
html‘s font size to
62.5% you can use rems almost like
px, in that
1.4rem would be
14px (because 62.5 × 1.6 = 100,
16px being the usual browser default text size)