您的位置:首页 > Web前端 > css

CSS vertical-align的用法

更多 2014/8/27 来源:css学习浏览量:2373
学习标签: css css align
本文导读:css中vertical-align用来设置元素的垂直排列,用来定义行内元素的基线相对于该元素所在行的基线的垂直对齐.。它的值比较多:baseline | sub | super | top | text-top | middle | bottom | text-bottom | inherit ,比如说top就是垂直对齐文本的顶部。下面介绍CSS vertical-align的用法

CSS vertical-align属性设置元素的垂直对齐方式。该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐,允许指定负长度值和百分比值。

 

一、vertical-align语法

vertical-align:baseline | sub | super | top | text-top | middle | bottom | text-bottom
 
 
二、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实例

 
HTML 代码   复制

<div 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;" />
</div>

 

说明

一个无语义的span,用于使line box高度与div一样。计算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 做为基础来对齐。所以就居中了。

 

 

收藏
456
很赞
494