【笔记】让DIV水平垂直居中的两种方法

今天写的了百度前端学院春季班的任务:定位和居中问题  由于距离上次学习CSS有点久远了,加上以前木有记笔记的习惯,方法忘得只剩下一种,今天通过网上查阅资料总结了以下两种简单的方法让DIV水平垂直居中。=。=

先来个效果图:

HTML代码:

1 <div class="wrap">
2     <div class="main first">
3         <div id="left" class="yuan"></div>
4         <div id="right" class="yuan"></div>
5     </div>
6 </div>

CSS:

 1 .main{
 2     width: 400px;
 3     height: 200px;
 4     overflow: hidden;
 5     background-color: #ccc;
 6     position: absolute;
 7 }
 8 .yuan{
 9     width: 100px;
10     height: 100px;
11     background-color:yellow;
12     border-radius: 50%;
13     -moz-border-radius: 50%;
14     -webkit-border-radius: 50%;
15     position: absolute;
16 }
17 #left{
18     top: -50px;
19     left: -50px;
20 }
21 #right{
22     bottom: -50px;
23     right: -50px;
24 }

 

第一种方法:利用负margin,前提是需要知道尺寸。兼容性最好。

设定水平和垂直偏移父元素的50%,
再根据实际长度将子元素上左挪回一半大小
1 .first{
2     top: 50%;
3     left: 50%;
4     margin-left: -200px;
5     margin-top: -100px;
6 }

第二种方法:利用CSS3的transform,宽度不定,支持IE9+

1 .second{
2     left: 50%;
3     top: 50%;
4     transform: translate(-50%,-50%);
5 }

 

posted @ 2016-03-15 16:04  Chang.joe  阅读(7232)  评论(2编辑  收藏  举报