CSS居中布局總結


居中布局

<div class=”parent”>

  <div class=”child”>demo</div>

</div>

1.水平居中

    1>     方案一 inlink-block+text-align

             .child {display:inlink-block;}

             .parent {text-align:center;}

             優點:兼容性好

             缺點:子元素寬高不可設置

    2>     方案二 table+margin

             .child {display:table; margin:0 auto;}

             優點:只需要設置child(自己)

    3>     方案三 absolute+transform

             .parent {position:relative;}

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

             優點:子元素不會對其他元素產生影響

             缺點:兼容性問題

    4>     方案四 flex+justify-content

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

             優點:只需設置parent節點

             或者設置為

             .parent {display:flex;}

             .child {margin:0 auto;}

             缺點:flex低版本ie不支持

 

2.垂直居中

    1>     方案一 table-cell+vertical-align

             .parent {display:table-cell;vertical-align:middle;}

             優點:只需設置父節點,兼容性好

    2>     方案二 absolute+transform

             .parent {position:relative;}

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

             優點:子元素不會對其他元素產生影響

             缺點:兼容性問題

    3>     方案三 flex+align-items

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

             優點:只需設置父節點

             缺點:兼容性問題

 

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;}

 本文轉自:http://www.cnblogs.com/xiaohangzi/p/6090995.html


免責聲明!

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



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