寬度高度不固定的div如何水平置中與垂直置中

來源:互聯網
上載者:User

標籤:style   http   color   os   width   問題   

寬度高度不固定的div如何水平置中與垂直置中

很多新手在寫css的時候經常遇到的一個問題,當div沒有固定的寬度或者高度的時候,如何才能讓div水平或者垂直置中顯示。
如果div有固定寬度的話,用padding,margin都很容易實現。方法有很多種。不過經常遇到這種div沒有固定的寬度高度的情況,我們就不能用margin,padding設定固定的距離了。這個問題讓很多人頭疼。而怎麼樣才能讓這個div置中顯示呢?其實這種情況解決的辦法也是有很多種,js,css都可以實現。

這裡主要介紹一下採用css的方法,有什麼問題還請各位看官指出。我在這裡寫了一個demo示範頁面,查看比較詳細的解說和示範的話,請移步寬度高度不固定的div,如何水平置中以及垂直置中示範頁面

寬度不固定的div如何設定水平置中:

<style type="text/css">
.container{width:500px;height:80px;background:#C2300B;margin-left:50px;padding-top:10px;text-align:center;}
.center{display:inline-block;border:2px solid #fff;}
.center{_display:inline;} /*針對ie6 hack*/
.center a{float:left;border:1px solid #fff;padding:5px 10px;margin:10px;color:#fff;text-decoration:none;}
</style>
<div class="container">
<div class="center"><a href="#">1</a><a href="#">2</a><a href="#">3</a>
<div style="clear:both"></div></div>

無固定寬度的div水平置中代碼要點:

這種div寬度不固定的情況,常見於分頁處,由於分頁不確定有多少頁,所以用於分頁的元素所在的容器寬度通常不是固定的。
父容器container加css屬性 text-align:center;子容器center加css屬性display:inline-block;
.center{_display:inline;} 為針對ie6的hack,針對ie6前面的display:inline-block;的作用是在ie下觸發元素的layout,使其haslayout。(關於haslayout,此處有涉及)

高度不固定的div如何設定垂直置中

<div id="vc"><div id="vci"><div id="content">
我們垂直置中了,我們水平置中了
</div></div></div>
<style type="text/css">
#vc { display:table; background-color:#C2300B; width:500px; height:200px; overflow:hidden; margin-left:50px; _position:relative; }
#vci { vertical-align:middle; display:table-cell;  _position:absolute; _top:50%; }
#content { color:#fff; border:1px solid #fff;  _position:relative; _top:-50%;  }
</style>

無固定高度的div垂直置中代碼要點:

父容器vc的css屬性 display:table;overflow:hidden;
子容器vci的css屬性 vertical-align:middle;display:table-cell;
針對ie6的hack,vci容器的 _position:absolute;_top:50%; 和content容器的 _position:relative; _top:-50%;
更詳細的介紹,下面傳送門

 

轉自:牛魔王的世界觀 » 寬度高度不固定的div如何水平置中與垂直置中

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.