关于vertical-align的一些理解

写完 关于行高,基线的理解 这篇文章之后,终于到这篇文章了,只有深入了解了基线问题之后,才能搞懂vertical-align

在写这篇文章之前,vertical-align对我来说就是一个能调整图片和文字之间垂直问题的一个css,但是这个属性很奇怪,有时候有效,有时候无效,而且它奇奇怪怪的属性很难懂,于是我就试着使用绝对值,调得差不多就行了。为了未来攻破这个难关,于是这篇文章诞生了。

这是截取自w3cshool的图片

8F694468-5186-4DDF-A571-DA80F15467E1.png

注意:

  1. vertical-align只对inline/inline-block元素有效。

  2. 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.zhangxinxu.com/wordpress/2010/05/%E6%88%91%E5%AF%B9css-vertical-align%E7%9A%84%E4%B8%80%E4%BA%9B%E7%90%86%E8%A7%A3%E4%B8%8E%E8%AE%A4%E8%AF%86%EF%BC%88%E4%B8%80%EF%BC%89/

http://www.w3school.com.cn/cssref/pr_pos_vertical-align.asp

《CSS权威指南》

发表评论