標籤:

前端開發筆記(2) —— css居中布局

水平居中,垂直居中,水平垂直居中...

老生常談的問題。

水平居中

先給兩個div,一個父容器,一個子容器。

.parent{ height: 50px; width: 200px; margin-top: 300px; margin-left: 300px; background-color: gray;}.child{ height: 100%; width: auto; background-color: #333; color: #fff;}<div class="parent"> <div class="child">DEMO</div></div>

效果如圖

水平居中布局1

.parent{ text-align: center;}.child{ display: inline-block;}

水平居中布局2

.parent{ text-align: center;}.child{ display: table; margin: 0 auto;}

水平居中布局3

.parent{ position: relative;}.child{ position: absolute; left: 50%; transform: translateX(-50%);}

水平居中布局3

.parent{ display: flex; justify-content: center;}

水平居中布局4

.parent{ display: flex;}.child{ margin: 0 auto;}

以上四種方法都可以實現水平居中,效果如圖:

垂直居中

先給兩個div,一個父容器,一個子容器。

.parent{ height: 200px; width: 50px; margin-top: 300px; margin-left: 300px; background-color: gray;}.child{ height: auto; width: 100%; background-color: #333; color: #fff;} <div class="parent"> <div class="child">DEMO</div> </div>

效果如圖

垂直居中1

.parent{ position: relative;}.child{ position: absolute; top: 50%; transform: translateY(-50%);}

垂直居中2

.parent{ display: flex; align-items: center;}

效果如圖

水平垂直居中1

.parent{ height: 200px; width: 100px; margin-top: 300px; margin-left: 300px; background-color: gray;}.child{ height: auto; width: auto; background-color: #333; color: #fff;}.parent{ text-align: center; display: table-cell; vertical-align: middle;}.child{ display: inline-block;}

水平垂直居中2

.parent{ height: 200px; width: 100px; margin-top: 300px; margin-left: 300px; background-color: gray;}.child{ height: auto; width: auto; background-color: #333; color: #fff;}.parent{ position: relative;}.child{ position: absolute; left: 50%; top:50%; transform: translate(-50%,-50%);}

效果如圖:


推薦閱讀:

不小心掉進了 uglify-js 的坑
聽說你想寫代碼。
你該知道的前端模塊化
一個前端與後端分離的架構實例
前端日刊-2018.01.21

TAG:前端開發 |