CSS vertical-align的用法
CSS vertical-align的用法CSS vertical-align属性设置元素的垂直对齐方式。该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐,允许指定负长度值和百分比值。
一、vertical-align语法
值 | 描述 |
baseline | 默认。元素放置在父元素的基线上。 |
sub | 垂直对齐文本的下标。 |
super | 垂直对齐文本的上标 |
top | 把元素的顶端与行中最高元素的顶端对齐 |
text-top | 把元素的顶端与父元素字体的顶端对齐 |
middle | 把此元素放置在父元素的中部。 |
bottom | 把元素的顶端与行中最低的元素的顶端对齐。 |
text-bottom | 把元素的底端与父元素字体的底端对齐。 |
length | 用长度值指定由基线算起的偏移量。可以为负值。基线对于数值来说为0 |
% | 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。 |
inherit | 规定应该从父元素继承 vertical-align 属性的值。 |
三、vertical-align常用的两种情况
1、vertical-align可以用在display:table-cell 的下面
典型的就是td,这时的有四个可取值baseline|top|middle|bottom。这种情况下比较简单,分别用cell box的baseline、top、middle、bottom对齐这一行的baseline、top、middle、bottom即可。
2、用于inline-level elements
影响它在其line-box里的垂直位置。line-box的高度由其中的inline-level元素计算,对于inline-replace元素就为其margin box的height,no-replace元素为其line-height。
四、vertical-align实例
<li style="border: 1px solid #CCC; height: 200px;">
<span style="width: 1px; display: inline-block; margin-right: -1px; height: 100%; vertical-align: middle;"></span>
<img src="r_474。jpg" width="100" style="vertical-align: middle;" />
</li>
说明
一个无语义的span,用于使line box高度与li一样。计算line box的baseline,这里参与计算的只有strut box这个臆想的box,算出baseline,用span的垂直中心对齐,这时span就会像上移动,而span又是支撑这个line box高度的,等于line box往上移,用line box的中心对齐line box 的baseline,这样line box的垂直中线就是baseline。img 的middle就按这个baseline 做为基础来对齐。所以就居中了。