設置不定寬高的元素垂直水平居中


1:思路:使用css3 flex布局
優點:簡單 快捷
缺點:兼容不好吧,詳情見:http://caniuse.com/#search=flex

先看效果

html代碼

<div class='box'>
  <div class='box-item'>
  </div>
</div>

css代碼

.box {
  width: 400px;
  border: 1px solid saddlebrown;
  height: 300px;
  display: flex;
  justify-content: center;
  /* 水平居中 */
  align-items: center;
  /* 垂直居中 */
}
.box-item {
  height: 20px;
  width: 20px;
  background: red;
}

2:思路:子元素絕對定位,距離頂部 50%,左邊50%,然后使用css3 transform:translate(-50%; -50%)
優點:高大上,可以在webkit內核的瀏覽器中使用
缺點:不支持IE9以下不支持transform屬性

css代碼

html代碼

方法三:思路:顯示設置父元素為:table,子元素為:cell-table,這樣就可以使用vertical-align: center,實現水平居中

優點:父元素(parent)可以動態的改變高度(table元素的特性)

缺點:IE8以下不支持

css代碼

html代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM