今天写的了百度前端学院春季班的任务:定位和居中问题 由于距离上次学习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%,<br />再根据实际长度将子元素上左挪回一半大小
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 }