[轉]-CSS 元素垂直置中的6種方法

來源:互聯網
上載者:User

標籤:simple   文本   ica   play   image   sheng   ima   table   通用   

原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD%E7%9A%84-6%E7%A7%8D%E6%96%B9%E6%B3%95/

 

利用CSS進行元素的水平置中,比較簡單,行級元素設定其父元素的text-align center,區塊層級元素設定其本身的left 和 right margins為auto即可。本文收集了六種利用css進行元素的垂直置中的方法,每一種適用於不同的情況,在實際的使用過程中選擇某一種方法即可。

Line-Height Method


試用:單行文本垂直置中,demo

代碼:

html

123
<div id="parent"><div id="child">Text here</div></div>

css

123
#child {line-height: 200px;}

垂直置中一張圖片,代碼如下

html

123
<div id="parent"><img src="image.png" alt="" /></div>

css

123456
#parent {line-height: 200px;}#parent img {vertical-align: middle;}
CSS Table Method

適用:通用,demo

代碼:

html

123
<div id="parent"><div id="child">Content here</div></div>

css

12345
#parent {display: table;}#child {display: table-cell;vertical-align: middle;}

低版本 IE fix bug:

123
#child {display: inline-block;}
Absolute Positioning and Negative Margin

適用:區塊層級元素,demo

代碼:

html

123
<div id="parent"><div id="child">Content here</div></div>

css

123456789
#parent {position: relative;}#child {position: absolute;top: 50%;left: 50%;height: 30%;width: 50%;margin: -15% 0 0 -25%;}
Absolute Positioning and Stretching

適用:通用,但在IE版本低於7時不能正常工作,demo

代碼:

html

123
<div id="parent"><div id="child">Content here</div></div>

css

1234567891011
#parent {position: relative;}#child {position: absolute;top: 0;bottom: 0;left: 0;right: 0;width: 50%;height: 30%;margin: auto;}
Equal Top and Bottom Padding

適用:通用,demo

代碼:

html

123
<div id="parent"><div id="child">Content here</div></div>

css

123456
#parent {padding: 5% 0;}#child {padding: 10% 0;}
Floater Div

適用:通用,demo

代碼:

html

1234
<div id="parent"><div id="floater"></div><div id="child">Content here</div></div>

css

1234567891011
#parent {height: 250px;}#floater {float: left;height: 50%;width: 100%;margin-bottom: -50px;}#child {clear: both;height: 100px;}

以上就是六種方法,可以在實際的使用過程中合理選擇,參考文章《vertical-centering》。

[轉]-CSS 元素垂直置中的6種方法

聯繫我們

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