Okay... someone want to summarize "em" for me? Why do I see it being used more and more? Should I switch? Is it only for font size? (I also see "ex" a few times but it seems MUCH rarer...) Should I still specify element sizes in pixels or not?
This is a good article that will explain the pros and cons, as well as other stuff: http://www.bigbaer.com/css_tutorials/css_font_size.htm
In terms of font sizes, em would be a better way to go. If you use px for font size, in IE, the font size won't change if the user increases/decreases text size (View > Text Size ). I think it's leaning more towards accessibilty. Some also use em for layout width/height so the whole layout will adjust during font size increase or decrease. It would be easier to set body {font-size:62.5%} Code (markup): so 1em = 10px, 0.8em = 8px ...
Not necessarily, glorie. What if the user has a different font size specified in their browser? When designing with EM in mind it's best to use 100% width, and then to design the layout using the Lucida Console font. This is because the value of the EM unit is based on the letter M, and the Lucida Console font has the largest value (of those I have seen); thus if you use this font for your testing, your other fonts will have enough room should the font you specify (I like Tahoma for body copy, and Georgia for headers) not be present on the user's operating system (or even over-ridden by their own user stylesheet). Just make sure that when you're done with the testing, to remove the Lucida Console font from your stylesheet, but do not change the EM width values (like 8em to 7.25em for example - BAD idea to change them) since it would defeat the purpose of designing to accomodate virtually any font. Yes, there will be some rounding errors, but with a little bit of experience, you'll be able to negate their effects, which will allow you to create layouts that do not break when the font size is resized, different fonts are used, or if the user's font metrics (dpi settings - 96dpi for "small fonts" and 120dpi for "large fonts") are different than your own. Finally, there is no perfect metric to use. Absolute units (inches, centimeters, picas, points, etc) will not resize in IE, while relative units (percentages, EMs, etc) can be vulnerable to rounding errors. Just make sure you test your design in as many situations as you possibly can, and go with the metric that is best for the job in question.
I wouldn't say eliminate all errors, but it will definately go a long way towards reaching that objective.