1.负margin法:这是比较经常使用的方法,在知道元素的宽高的前提下才能使用web
1 <div id="a"></div> 2 3 #a{ 4 height:300px; 5 width:300px; 6 position:absolute; 7 top:50%; 8 left:50%; 9 margin-left:-150px; 10 margin-top:-150px; 11 }
注:负margin是个很是有意思的用法,深刻了解后会发现他在布局上至关有用。
优势:代码量少,兼容性好。
缺点:非响应式方法,内容可能会超出容器。布局
2.transform法:flex
<div id="a"></div> #a{ width: 50%; height: 20%; background: green; position: absolute; top:50%; left: 50%; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); }
优势:代码量少;宽高可变,相应式布局
缺点:不支持IE8,可能须要带供应商前缀spa
3.Flexbox法code
<div class="vertical-container"> <div class="a"></div> </div> .vertical-container { height: 300px; width: 300px; background: #ccc; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; } .a{ width: 200px; height: 200px; background: green; }
注:Flexbox的用法远不止如此,在布局上还有不少有趣的用法。orm
4.“彻底水平垂直居中”:必需要设置元素的高度,图片自身有高度的能够不设。blog
<div id="a"></div> #a{ width: 200px; height: 200px; background: red; margin:auto; position: absolute; top:0;left:0;right: 0;bottom: 0; }
优势:代码量少,兼容性好图片
更多博客,前关注个人我的小站:http://eidolons-ailidan.rhcloud.com/博客