先来个效果图:
HTML代码:
复制代码代码如下:
<div class="wrap">
<div class="main first">
<div id="left" class="yuan"></div>
<div id="right" class="yuan"></div>
</div>
</div>
CSS:
CSS Code复制内容到剪贴板 .main{ width: 400px; height: 200px; overflow: hidden; background-color: #ccc; position: absolute; } .yuan{ width: 100px; height: 100px; background-color:yellow; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; position: absolute; } #left{ top: -50px; left: -50px; } #right{ bottombottom: -50px; rightright: -50px;
第一种方法:利用负margin,前提是需要知道尺寸。兼容性最好。
设定水平和垂直偏移父元素的50%,再根据实际长度将子元素上左挪回一半大小
复制代码代码如下:
.first{
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -100px;
}
第二种方法:利用CSS3的transform,宽度不定,支持IE9+
复制代码代码如下:
.second{
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
以上这篇让DIV水平垂直居中的两种完美方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
原文链接:http://www.cnblogs.com/lsiria/p/5279890.html