vertical-align属性

简介:

定义和用法:

vertical-align 属性设置元素的垂直对齐方式。


浏览器支持:

所有浏览器都支持 vertical-align 属性。

注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。


语法: 

vertical-align : baseline | sub | super | top | text-top | middle | bottom | text-bottom | <百分比> | <长度> | inherit


参数:

描述
baseline 默认。元素放置在父元素的基线上
sub 垂直对齐文本的下标
super 垂直对齐文本的上标
top 把元素的顶端与行中最高元素的顶端对齐
text-top 把元素的顶端与父元素字体的顶端对齐
middle 把此元素放置在父元素的中部
bottom 把元素的顶端与行中最低的元素的顶端对齐
text-bottom 把元素的底端与父元素字体的底端对齐
% 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值
inherit 规定应该从父元素继承 vertical-align 属性的值


适用于:行内元素 和 单元格(table-cell)元素


1、用于行内元素

1
< div >< img  src = "http://pic2.58.com/ui7/job/hire/pic4.png"  />看看我的位置</ div >
1
img{  vertical-align : middle ;}

wKioL1gYQcPhu87ZAACzdaiDqaA719.png

img和span一起出现,要想文字对齐图片的中间位置,就需要为图片添加img{vertical-align:middle;} 再比如input和span连用时,谷歌火狐IE8以上版本里默认的是span在input的中间位置,但ie6/ie7里,span底部和input底部对齐,实现统一的办法就是给input添加input{vertical-align:middle;},要想它们垂直方向上的中线对齐,就同时也为span设置span{vertical-align:middle;}


2、用于表格

1
2
3
4
5
6
7
8
9
10
< table >
     < tr >
         < td >这是一个测试</ td >
         < td >这是一个测试</ td >
     </ tr >
     < tr >
         < td >这是一个测试</ td >
         < td >这是一个测试</ td >
     </ tr >
</ table >
1
td{  height : 40px vertical-align : middle ;}

wKioL1gYQ6PgdtMtAAAHxFUGLtU561.png


3、用于块级元素

vertical-align不适用于块级元素,但是可以设置父元素的display属性为table-cell,将块级元素转为单元格,然后再使用vertical-align属性

1
2
3
< div >
     < img  src = "http://pic2.58.com/ui7/job/hire/pic4.png"  />
</ div >
1
div{ width : 500px height : 200px display table-cell vertical-align middle border : 1px  blue  solid ;}


IE8及以上浏览器效果:(Chrome, FireFox, Opera均正常显示)

wKioL1gYSKTiHK72AAC_v4C1vf4759.png

IE7,IE6浏览器效果:

wKiom1gYSLTw9te9AADAS-UTQgE893.png


为了解决IE6,7下的问题,我们可以采用css hack的方式

1
2
3
4
5
div{
     width : 500px height : 200px display table-cell vertical-align middle border : 1px  blue  solid ;
     /*用于IE 6 7 *
     * display : block ; * line-height : 200px ;
}


再次检查IE下各版本的效果

wKioL1gYS2Hza4xrAADfTD68TYs411.pngwKiom1gYS3GjyhihAADbiQwZLO0588.png

更多更全的讲解,可查阅 http://www.ddcat.net/blog/?p=233

http://blog.sina.com.cn/s/blog_51048da701018490.html


本文转自   frwupeng517   51CTO博客,原文链接:http://blog.51cto.com/dapengtalk/1868132
相关文章
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
CSS3【display: flex;】与【align-items: 侧轴对齐方式;】的使用
77 0
CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用
CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用
74 0
|
前端开发 程序员
【CSS】vertical-align属性
【CSS】vertical-align属性
|
前端开发
CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用
CSS3【display: flex;】与【align-content: (wrap 模式下堆栈排列);】的使用
42 0
|
容器
Center 中的 widthFactor 与 heightFactor 属性
Center 中的 widthFactor 与 heightFactor 属性
195 0
Center 中的 widthFactor 与 heightFactor 属性
|
前端开发
display:box、display:flex实现多行文本垂直居中
display:box、display:flex实现多行文本垂直居中
268 0
display:box、display:flex实现多行文本垂直居中
html+css实战159-vertical-align-01
html+css实战159-vertical-align-01
89 0
html+css实战159-vertical-align-01
html+css实战160-vertical-align-02
html+css实战160-vertical-align-02
104 0
|
容器
Flex布局里的align-self属性
Flex布局里的align-self属性
169 0
Flex布局里的align-self属性