本文摘自PHP中文网,作者青灯夜游,侵删。
方法:1、利用“display:table-cell;vertical-align:middle;”样式;2、使用flex布局;3、利用绝对定位和负边距;4、利用绝对定位和transform属性;5、利用绝对定位和top、left等属性。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法。有了css3,针对移动端的垂直居中就更加多样化。
方法1:table-cell
html结构:
1 2 3 | <div class= "box box1" >
<span>垂直居中</span>
</div>
|
css:
1 2 3 4 5 | .box1{
display: table-cell;
vertical-align: middle;
text-align: center;
}
|

方法2:display:flex
1 2 3 4 5 | .box2{
display: flex;
justify-content:center;
align-items:Center;
}
|
方法3:绝对定位和负边距
1 2 3 4 5 6 7 8 9 10 11 | .box3{position:relative;}
.box3 span{
position: absolute;
width:100px;
height: 50px;
top:50%;
left:50%;
margin-left:-50px;
margin-top:-25px;
text-align: center;
}
|
方法4:绝对定位和0
1 2 3 4 5 6 7 8 9 10 11 12 | .box 4 span{
width : 50% ;
height : 50% ;
background : #000 ;
overflow : auto ;
margin : auto ;
position : absolute ;
top : 0 ;
left : 0 ;
bottom : 0 ;
right : 0 ;
}
|
这种方法跟上面的有些类似,但是这里是通过margin:auto和top,left,right,bottom都设置为0实现居中,很神奇吧。不过这里得确定内部元素的高度,可以用百分比,比较适合移动端。
方法5:translate
1 2 3 4 5 6 7 8 | .box 6 span{
position : absolute ;
top : 50% ;
left : 50% ;
width : 100% ;
transform:translate( -50% , -50% );
text-align : center ;
}
|
这实际上是方法3的变形,移位是通过translate来实现的。
方法6:display:inline-block
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | .box7{
text-align:center;
font-size:0;
}
.box7 span{
vertical-align:middle;
display:inline-block;
font-size:16px;
}
.box7:after{
content: '' ;
width:0;
height:100%;
display:inline-block;
vertical-align:middle;
}
|
这种方法确实巧妙...通过:after来占位。
(学习视频分享:css视频教程)
以上就是css垂直居中的方法有哪些的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
详解css处理长短文本内容的几种小技巧(值得收藏)
详解css中position属性的用法
css有哪几种选择器
css 怎么去掉按钮样式
怎样清除内嵌css样式
css list-style-image属性怎么用
css @font-face属性怎么用
如何只使用1个css属性来创建响应式网站?
css的表格边框使用什么属性设置
css怎么改变鼠标样式
更多相关阅读请进入《css》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » css垂直居中的方法有哪些