CSS實現垂直置中方法

來源:互聯網
上載者:User

這種方法,在 content 元素外插入一個 div。設定此 div height:50%; margin-bottom:-contentheight;。
content 清除浮動,並顯示在中間。

<div id="floater">
<div id="content">
  Content here</div>
</div>

#floater {float:left; height:50%; margin-bottom:-120px;}
#content {clear:both; height:240px; position:relative;}

優點:

適用於所有瀏覽器
沒有足夠空間時(例如:視窗縮小) content 不會被截斷,捲軸出現

缺點:

唯一我能想到的就是需要額外的空元素了(也沒那麼糟,又是另外一個話題)

方法四

這個方法使用了一個 position:absolute,有固定寬度和高度的 div。這個 div 被設定為 top:0; bottom:0;。但是因為它有固定高度,其實並不能和上下都間距為 0,因此 margin:auto; 會使它置中。使用 margin:auto;使區塊層級元素垂直置中是很簡單的。

<div id="content">
 Content here</div>

#content {
 position:absolute;
 top:0;
 bottom:0;
 left:0;
 right:0;
 margin:auto;
 height:240px;
 width:70%;
}

優點:簡單

缺點:

IE(IE8 beta)中無效
無足夠空間時,content 被截斷,但是不會有捲軸出現

 

相關文章

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.