DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> DIV十CSS布局 >> 布局實例 >> 用CSS實現垂直居中的3種方法
用CSS實現垂直居中的3種方法
編輯:布局實例     

 使用 CSS 實現垂直居中並不容易。有些方法在一些浏覽器中無效。下面我們看一下使對象垂直集中的3種不同方法,以及它們各自的優缺點
  方法一:

  這個方法把一些 div 的顯示方式設置為表格,因此我們可以使用表格的 vertical-align property 屬性。
  <div id="wrapper">
  <div id="cell">
  <div class="content">
  Content goes here</div>
  </div>
  </div>
  #wrapper {display:table;}
  #cell {display:table-cell; vertical-align:middle;}

  優點:
  content 可以動態改變高度(不需在 CSS 中定義)。當 wrapper 裡沒有足夠空間時, content 不會被截斷
  缺點:
  Internet Explorer(甚至 IE8 beta)中無效,許多嵌套標簽(其實沒那麼糟糕,另一個專題)

  方法二:

  這個方法使用絕對定位的 div,把它的 top 設置為 50%,top margin 設置為負的 content 高度。這意味著對象必須在 CSS 中指定固定的高度。
  因為有固定高度,或許你想給 content 指定 overflow:auto,這樣如果 content 太多的話,就會出現滾動條,以免content 溢出。
  <div class="content">
  Content goes here</div>
  #content {
  position:absolute;
  top:50%;
  height:240px;
  margin-top:-120px; /* negative half of the height */
  }

  優點:
  適用於所有浏覽器
  不需要嵌套標簽
  缺點:
  沒有足夠空間時,content 會消失(類似div 在 body 內,當用戶縮小浏覽器窗口,滾動條不出現的情況)

  方法三:

  這種方法,在 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 不會被截斷,滾動條出現

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved