面向现代浏览器,CSS3已经提供了很好的方法实现垂直居中,本文介绍了其中两种经常使用的方法,无需借助额外的html结构或js代码,纯CSS3实现垂直居中,而且在国内90%的设备上均可以兼容。html
<div class="container"> <div class="center">本元素相对于父元素垂直居中</div> </div>
.container{ position: relative; } .center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
点我查看demo-1浏览器
看起来至关容易理解,就是先把元素下移父元素高度的50%,而后再上移自身高度的50%。
严谨地来说,这方法还同时实现了水平居中,不须要的话把left: 50%
去掉,并改为transform: translateY(-50%)
布局
从上图可见,国内大约90%的设备均可以支持。flex
对须要垂直居中的元素的父元素增长一个class,spa
.container{ display: flex; align-items: center; }
点我查看demo-2code
flex布局可作的太多了,单纯作垂直居中真的大材小用。orm
从上图可见,国内大约90%的设备均可以支持。htm