居中布局
<div class="parent">
<div class="child">demo</div>
</div>
1.水平居中
1> 方案一 inlink-block+text-align
.child {display:inlink-block;}
.parent {text-align:center;}
優(yōu)點:兼容性好
缺點:子元素寬高不可設(shè)置
2> 方案二 table+margin
.child {display:table; margin:0 auto;}
優(yōu)點:只需要設(shè)置child(自己)
3> 方案三 absolute+transform
.parent {position:relative;}
.child {position:absolute;left:50%;transform:translateX(-50%);}
優(yōu)點:子元素不會對其他元素產(chǎn)生影響
缺點:兼容性問題
4> 方案四 flex+justify-content
.parent {display:flex;justify-content:center;}
優(yōu)點:只需設(shè)置parent節(jié)點
或者設(shè)置為
.parent {display:flex;}
.child {margin:0 auto;}
缺點:flex低版本ie不支持
2.垂直居中
1> 方案一 table-cell+vertical-align
.parent {display:table-cell;vertical-align:middle;}
優(yōu)點:只需設(shè)置父節(jié)點,兼容性好
2> 方案二 absolute+transform
.parent {position:relative;}
.child {position:absolute;top:50%;transform:translateY(-50%);}
優(yōu)點:子元素不會對其他元素產(chǎn)生影響
缺點:兼容性問題
3> 方案三 flex+align-items
.parent {display:flex;align-items:center;}
優(yōu)點:只需設(shè)置父節(jié)點
缺點:兼容性問題
3.水平和垂直均居中
1> 方案一 inline-block+text-align+table-cell+vertical-align
.parent {text-align:center;display:table-cell;vertical-align:middle;}
.child {display:inline-block;}
2> 方案二 absolute+transform
.parent {position:relative;}
.child { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
3> 方案三 flex+justify-content+align-items
.parent {display:flex;justify-content:center;align-items:center;}
思路:了解屬性值特性,分解問題。
【 微信掃一掃 】