首页 > 代码库 > css2--垂直对齐
css2--垂直对齐
## CSS2 vertical-align 垂直对齐
- baseline 默认值.基于基线对齐
- middle 位于同一行的非衬线字体小写字母的 1/2 处.不要为父元素设置高度和行高
- top 位于父元素一行的顶部
- bottom 位于父元素一行的底部
- text-top 位于同一行的文本的顶部
- text-bottom 位于同一行的文本的底部
- super 位于同一行的sub元素文本的基线对齐 <sup>上角标</sup>
- sub 位于同一行的sub元素文本的基线对齐 <sub>下角标</sub>
- 使用 vertical-align 在一行内,行内元素在垂直方向的对齐位置。
- vertical-align: 只能设置行内元素(inline inline-block)
#### 垂直居中对齐
vertical-align: middle;
text-align: center;
#### vertical-align 使用场景1: 一行内的垂直方向对齐
![](http://i.imgur.com/gqvFjtp.jpg)
#### vertical-align 使用场景2: 多行内的垂直方向对齐
1. 为要垂直居中的子元素设置 ````vertical-align:middle````样式
2. 为该元素的父元素设置````display: table-cell````,并设置固定的高度
3. 然后再设置 ````vertical-align:middle````和水平对齐````text-align: center````
4. 当其元素设置为 ````display: table-cell````.并且宽度清零时,需要为父元素添加display: table;,并设置宽度100%
**可以把元素的所有内容(文本,子元素-inline, inline-block)都在垂直方向居中**
**在局部布局中使用display:table-cell;以减少对整体布局的影响**
<style type="text/css">
/*指定块元素图片垂直居中*/
.box-table{
display: table;
width:100%;
}
.box {
background-color: orange;
height: 200px;
display: table-cell;
vertical-align: middle;
text-align: center;
}
img{
width: 100px;
}
</style>
<script type="text/javascript"></script>
</head>
<body>
<div class="box-table">
<div class="box">
<img src="http://www.mamicode.com/img/bg.jpg" >
</div>
</div>
</body>
css2--垂直对齐