今天寫的了百度前端學院春季班的任務:定位和居中問題 由於距離上次學習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 }