CSS div頁面水平居中的布局方法總結

2021-05-23 15:31:20 字數 1581 閱讀 9991

一、margin:auto 0 與 text-aligh:center

在現代瀏覽器(如internet explorer 7、firefox、opera等)現代瀏覽器實現水平居中的方法很簡單,只要設定到左右兩側的空白為自動即可。意即:

#wrap

#wrap

上面這段**的意思是說使wrap這個div到左右兩側的距離自動設定,上下為0(可以為任意)。請在現代瀏覽器

(如internet explorer 7、firefox、opera等)中執行現在的**:

上面的效果很好。但是這在internet explorer 6及改正的版本中是不起作用的,不過幸好它有自己的解決辦法。在 internet explorer中text-align屬性是可繼承的,即在父元素中設定後在子元素中就預設具有了該屬性。因此我們可以在body標籤中設定text- align屬性值為center,這樣頁面內所有的元素都會自動居中,同時我們還要加乙個hook把頁面中的文字變成我們習慣的閱讀方式——居左對齊。因 此我們要如此來寫**:

view plaincopy to clipboardprint?

body

#wrap

body #wrap

這樣在internet explorer中我們就輕鬆實現了div的居中對齊。因此要在所有的瀏覽器中顯示居中的效果,我們就可以這樣寫我們的**:

view plaincopy to clipboardprint?

body

#wrap

body #wrap

不過這裡有乙個前提,就是設定居中的元素要有固定的寬度,比如這裡我們設定了為760畫素。

二、相對定位與負的邊距

對於wrap進行相對定位,然後使用負的邊距抵消偏移量。這種方法比較簡單還很容易實現:

#wrap

#wrap

這段**的意思是,設定wrap的定位是相對於其父元素body標籤的,然後將其左邊框移動到頁面的正中間(也就是left:50%含意);最 後我們再從中間位置向左偏移回一半的距離來,這樣就實現了水平居中了。

同樣,在設定水平居中前你需要設定乙個固定的寬度。

究竟選擇哪個方法?

上面兩個方法究竟選擇哪種方法好呢?在第一種方法中貌似使用了hack技術,其實並沒有,它是中規中矩的web標準寫法,完全符合規範,因此, 兩個種方法中完全可以隨便的選取其中的任一種進行使用,他們不存在css hack的問題。

三、其它的居中方式

上面所說的都是設定了具體寬度的情況下水平居中的實現。有時候我們想做乙個彈性布局,或者當乙個元素處於乙個容器中時我們只想讓它居中並不想設 定乙個具體的寬度。其實這並不是真正的居中布局,就像對乙個100%長度的元素來說,你說它是居中對齊還是居左對齊呢?所以所有不高寬度的居中都不是真正 的居中。這樣的設計我們是使用的像元素的padding來設定的,實際中我們是改變了父元素的容器大小:

如我們希望wrap元素長度隨視窗而改變,同時又維持居中,我們就可以這樣寫:

body

body

這裡,我們只需要保持父元素左右兩側的填充

css div水平居中

實現div內容水平居中 實現方案一 margin 0 auto 實現div水平居中方案二 position absolute 絕對定位 div實現div水平垂直居中 實現方案一 position fixed 固定定位 div實現方案二 position absolute 絕對定位 實現方案二 css...

CSS 布局 水平居中

一 水平居中 1 行內元素水平居中 父級元素設定text align center 實現在塊級元素內部的行內元素 inline inline block inline flex inline table 水平居中 dome 由此可見,塊級裡面的塊級元素水平居中也可以先把裡面的塊級設定成行內塊元素2 ...

css div頁面布局詳解(二)

css復合選擇器 後代選擇器 語法格式 選擇器1 選擇器2後代選擇器中用空格分開 子代選擇器 語法格式 選擇器1 選擇器2後代選擇器使用者大於號分開 並集選擇器 語法格式 選擇器1,選擇器2並集選擇器用逗號分開,最後乙個選擇器不需要逗號 交集選擇器 語法格式 選擇器1選擇器2既 又 的關係應用場景不...