The main reason is to accommodate varying screen resolutions and protect your site from going haywire on different monitors. First, IE6 and IE7will not allow users to resize text that has been sized in pixels. Face it, your readers will need to resize text at some point for a whole host of reasons. They could have bad eyesight, or they could be using a super hi-rez laptop monitor, or they might be be giving a presentation.
My transition to EM’s from Pixels has been one of experimenting to learn the methods so I can code in EM’s with the same flow that I use with Pixels. I’m at the point now where it’s easier to code in EM’s because I know what the result will be and I feel more in control of the typography.

EM is taken from the print world. Typographers use it as a unit of measurement for horizontal spacing. It’s a relative unit of measure: 1em is a distance equal to the text size. For example, in a 10px type, an em is 10 pixels, in 16 pixel type it is 16em. Basically 1 em of padding is equal to the text size. Confused? Don’t worry about it. Let’s code.
Read More