幾種可以讓元素水平垂直置中的方法

來源:互聯網
上載者:User

標籤:

1.負margin法:這是比較常用的方法,在知道元素的寬高的前提下才能使用

 1 <div id="a"></div> 2  3 #a{ 4    height:300px; 5   width:300px; 6   position:absolute; 7   top:50%; 8   left:50%; 9   margin-left:-150px;10   margin-top:-150px;11 }

   註:負margin是個非常有意思的用法,深入瞭解後會發現他在布局上相當有用。
  優點:代碼量少,相容性好。
  缺點:非響應式方法,內容可能會超出容器。

2.transform法:

<div id="a"></div>#a{     width: 50%;    height: 20%;    background: green;    position: absolute;    top:50%;    left: 50%;    transform:translate(-50%, -50%);        -webkit-transform:translate(-50%, -50%);        -ms-transform:translate(-50%, -50%);}

  優點:代碼量少;寬高可變,相應式布局
  缺點:不支援IE8,可能需要帶供應商首碼

3.Flexbox法

<div class="vertical-container">    <div class="a"></div></div>.vertical-container {  height: 300px;  width: 300px;  background: #ccc;  display: -webkit-flex;  display: flex;  -webkit-align-items: center;              align-items: center;  -webkit-justify-content: center;              justify-content: center;}.a{   width: 200px;   height: 200px;   background: green;}

註:Flexbox的用法遠不止如此,在布局上還有很多有趣的用法。

4.“完全水平垂直置中”:必須要設定元素的高度,圖片自身有高度的可以不設。

<div id="a"></div>#a{      width: 200px;    height: 200px;    background: red;    margin:auto;    position: absolute;    top:0;left:0;right: 0;bottom: 0;}

優點:代碼量少,相容性好

 

最後一種方法,我真的是才知道的,請原諒我真的很菜,請原諒我真的很沒見識,這種幾年前就被大家用爛糊了的方法我居然現在才知道,o(︶︿︶)o !

幾種可以讓元素水平垂直置中的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.