刚好前台区有人问了个类似的问题http://bbs.blueidea.com/thread-2839114-1-1.html
没时间详解,自己先理解下 http://www.w3.org/TR/CSS21/visudet.html#inline-non-replaced
10.6.1 Inline, non-replaced elements
The 'height' property doesn't apply. The height of the content area should be based on the font, but this specification does not specify how. A UA may, e.g., use the em-box or the maximum ascender and descender of the font. (The latter would ensure that glyphs with parts above or below the em-box still fall within the content area, but leads to differently sized boxes for different fonts; the former would ensure authors can control background styling relative to the 'line-height', but leads to glyphs painting outside their content area.)
Note: level 3 of CSS will probably include a property to select which measure of the font is used for the content height.
The vertical padding, border and margin of an inline, non-replaced box start at the top and bottom of the content area, not the 'line-height'. But only the 'line-height' is used when calculating the height of the line box.
If more than one font is used (this could happen when glyphs are found in different fonts), the height of the content area is not defined by this specification. However, we suggest that the height is chosen such that the content area is just high enough for either (1) the em-boxes, or (2) the maximum ascenders and descenders, of all the fonts in the element. Note that this may be larger than any of the font sizes involved, depending on the baseline alignment of the fonts.
简单的说就是:行内非替换元素的在文档流中的占位高度取决于行高“line-height”,
而其垂直方向的padding, border and margin 是基于其内容的区域——这里即文本框(文字本身)