继上一篇后,这篇更简洁一点
在蓝色理想论坛上看见的~~~
在line-height高度大于font-size的情况下:
其实block元素的line-height就是内部元素的行高,如果是一行的话,box的高度就等于行高,背景的填充高度也是行高。
inlien元素使用float触发haslayout,效果和block一致。
inline元素的行高是他的物理高度,但是不等于背景高度,他的背景高度等于font-size的高度。其他部分上下被均分,可以看作类似于margin这样的东东。
inline元素被设置为display:inline-block,IE下配合zoom:100%;呈现内联块级元素,宽度为元素的宽度而不是100%宽,不独占一行,背景高度和行高相等。moz内核不支持inlien-block。不过私有属性display:-moz-inline-box;可以近似实现该效果,问题是元素内容不垂直居中。
为什么要分析这个呢?
当span a等并排的时候,并且需要水平居中外加背景修饰,就可以使用line-height display:inline-block,display:-moz-inline-box,实现。
否则就要使用float+width来控制。水平居中也需要单独处理。