写完 关于行高,基线的理解 这篇文章之后,终于到这篇文章了,只有深入了解了基线问题之后,才能搞懂vertical-align
在写这篇文章之前,vertical-align对我来说就是一个能调整图片和文字之间垂直问题的一个css,但是这个属性很奇怪,有时候有效,有时候无效,而且它奇奇怪怪的属性很难懂,于是我就试着使用绝对值,调得差不多就行了。为了未来攻破这个难关,于是这篇文章诞生了。
这是截取自w3cshool的图片
注意:
-
vertical-align只对inline/inline-block元素有效。
-
vertical-align的定位只跟父元素有关,跟兄弟元素没直接关系。
baseline:如何确定父元素的基线呢?看这里关于行高,基线的理解
sub/super:关于上下标,这更各个浏览器实现有关系,我的理解是文字的上线和文字的底线位置。
bottom:下标其实就是line-height = 0,不包括padding的地方,与元素顶端对齐
top:line-height 的位置,不包括padding的地方,与元素底端对齐
text-top/text-bottom:与字的顶线/底线对齐。
middle:基线+ex/2的位置 1ex = 0.5em
length:与基线做为起点加减具体位置,如:10px/-10px/1em
%:同样是以基线为起点,以line-height做为基数计算出来的偏移量,可以是正数负数。
http://www.w3school.com.cn/cssref/pr_pos_vertical-align.asp
《CSS权威指南》