CSS3如何實現元素水平居中、垂直居中?

Tags: 元素, 水平,

CSS3如何實現元素水平居中、垂直居中

水平居中

行內元素

如果被設置元素為文本、圖片等行內元素時,水平居中是通過給父元素設置

text-align:center 來實現的

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

定寬塊狀元素

當被設置元素為塊狀元素時用 text-align:center 就不起作用了。滿足定寬和塊狀兩個條件的元素是可以通過設置“左右margin”值為“auto”來實現居中的。

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

在實際工作中我們會遇到需要為“不定寬度的塊狀元素”設置居中,比如網頁上的分頁導航,因為分頁的數量是不確定的,所以我們不能通過設置寬度來限制它的彈性。

不定寬塊狀元素1

1)為需要設置的居中的元素外面加入一個 table 標籤 ( 包括 、、 )。

2)為這個 table 設置“左右 margin 居中。

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

不定寬塊狀元素2

改變塊級元素的 dispaly 為 inline 類型,然後使用 text-align:center 來實現居中效果

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

不定寬塊狀元素3

通過給父元素設置 float,然後給父元素設置 position:relativeleft:50%子元素設置 position:relative 和 left:-50% 來實現水平居中

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

垂直居中

父元素高度確定的單行文本

垂直居中的方法是通過設置父元素的 height 和 line-height 高度一致來實現的

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

說到豎直居中,css 中有一個用於豎直居中的屬性 vertical-align,但這個樣式只有在父元素為 td 或 th 時,才會生效

父元素高度確定的多行文本1

使用插入 table (包括tbody、tr、td)標籤,同時設置 vertical-align:middle(因為 td 標籤默認情況下就默認設置了 vertical-align 為 middle,所以我們不需要顯式地設置了)

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

父元素高度確定的多行文本2

chrome、firefox 及 IE8 以上的瀏覽器下可以設置塊級元素的 display:table-cell, vertical-align:middle,但注意 IE6、7 並不支持這個樣式。

CSS3如何實現元素水平居中、垂直居中

CSS3如何實現元素水平居中、垂直居中

相關問題答案