Apart from the very good points raised above the only other thing you may be doing wrong is nesting elements that have had a percentage value applied to them
The size of the text on the inner div will be 85% of the size of its parent which is 85% of its parent. Percentages/ems will compound on nested elements when applied as above (think about nested lists etc.)
<div><div>tiny text (85% of 85%)</div></div>
The way around it is to do something like this.
Basically using percentages/ems means that you create a relationship between the font sizes on your page. There can never be any real correlation between actual pixels sizes that others may be seeing on their monitors for the many reasons as already described above.