css居中方法

2022-08-16 21:15:14 字數 3078 閱讀 3156

水平居中:

(1) 文字、等行內元素的水平居中

給父元素設定text-align:center可以實現文字、等行內元素的水平居中。

(2) 確定寬度的塊級元素的水平居中

通過設定margin-left:auto;和margin-right:auto;來實現的。

(3) 不確定寬度的塊級元素的水平居中

方法一:

將需要居中的部分包含在table標籤內,對table設定margin-left:auto;和margin-right:auto;就可以使table水平居中,間接使需要居中的部分水平居中。

方法二:

改變塊級元素display為inline型別,然後使用text-align:center來實現居中。

方法三(左偏移量根據父元素和子元素的寬度比可以確定):

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

垂直居中

(1) 父元素高度不確定的文字、、塊級元素的垂直居中

通過給父容器設定相同上下邊距實現的,即設定padding-top和padding-bottom。

(2)父元素高度確定的單行文字的垂直居中

通過給父元素設定line-height來實現,line-height值和父元素高度值相同。

(3)父元素高度確定的多行文字、、塊級元素的垂直居中

css中有乙個用於垂直居中的屬性vertical-align,但只有當父元素為td或者th時,這個屬性才生效,對於其他塊級元素,如div,p等,預設情況下是不支援vertical-align屬性的。在firefox和ie8下,可以設定塊級元素的display:table-cell來啟用vertical-align屬性,但ie6和ie7並不支援display:table-cell。

方法一:

直接使用table,因為td標籤預設下就隱式設定了vertical-align:middle。

方法二:

對支援display:table-cell的ie8和firefox用display:table-cell和vertical-align:middle來實現居中,新增至需要垂直居中的元素的父級元素,對不支援display:table-cell的ie6和ie7,使用特定格式的hack。

使用css3將乙個div水平和垂直居中顯示

方案一:

div絕對定位水平垂直居中【margin:auto實現絕對定位元素的居中】,

**兩個關鍵點:1.上下左右均0位置定位;

2.margin: auto; 其width、height如何更改都是居中顯示的,相容性可以,ie7及之前版本不支援

複製**

1 .div1

複製**

效果如下:

優點:1.支援跨瀏覽器,包括ie8-ie10.

2.無需其他特殊標記,css**量少

3.支援百分比%屬性值和min-/max-屬性

4.只用這乙個類可實現任何內容塊居中

5.不論是否設定padding都可居中(在不使用box-sizing屬性的前提下)

6.內容塊可以被重繪。

7.完美支援居中。

缺點:1.必須宣告高度(檢視可變高度variable height)。

2.建議設定overflow:auto來防止內容越界溢位。(檢視溢位overflow)。

3.在windows phone裝置上不起作用。

瀏覽器相容性:

chrome,firefox, safari, mobile safari, ie8-10.

絕對定位方法在最新版的chrome,firefox, safari, mobile safari, ie8-10.上均測試通過。

方案二:

div絕對定位水平垂直居中【margin 負間距】

此方案**關鍵點:1.必需知道該div的寬度和高度,

2.然後設定位置為絕對位置,

3.距離頁面視窗左邊框和上邊框的距離設定為50%,這個50%就是指頁面視窗的寬度和高度的50%,

4.最後將該div分別左移和上移,左移和上移的大小就是該div寬度和高度的一半。

複製**

1 .div1

複製**

亦可寫成:

複製**

1 .div1

複製**

效果如下:

這或許是當前最流行的使用方法。

測試表明,這是唯一在ie6-ie7上也表現良好的方法。

優點:1. 良好的跨瀏覽器特性,相容ie6-ie7。

2. **量少。

缺點:1. 不能自適應。不支援百分比尺寸和min-/max-屬性設定。

2. 內容可能溢位容器。

3. 邊距大小與padding,和是否定義box-sizing: border-box有關,計算需要根據不同情況。

方案三:

div絕對定位水平垂直居中【transforms 變形】

這是最簡單的方法,不近能實現絕對居中同樣的效果,也支援聯合可變高度方式使用。內容塊定義transform: translate(-50%,-50%) 必須加上

top: 50%; left: 50%;

複製**

1 .div1

複製**

效果如下:

優點:1. 內容可變高度

2. **量少

缺點:1. ie8不支援

2. 屬性需要寫瀏覽器廠商字首

3. 可能干擾其他transform效果

4. 某些情形下會出現文字或元素邊界渲染模糊的現象

若只是水平(方向)居中:

複製**

1 .div1

複製**

效果如下:

css3不定寬高水平垂直居中

只要三句話就可以實現不定寬高水平垂直居中。

1 justify-content:center;//子元素水平居中

2 align-items:center;//子元素垂直居中

3 display:-webkit-flex;

在父級元素上面加上上面3句話,就可以實現子元素水平垂直居中。

CSS布局 居中方法

在web頁面布局中居中是我們常遇到的情況,而居中分為水平居中與垂直居中 文字的居中 css中對文字的居中做的非常友好,我們是需要text align,line height 兩個屬性就可以控制文字的水平以及垂直居中 head style type text css text style head b...

css居中方法詳解

第一種居中方式 使用margin auto 這應該是使用最多的居中方式了,但也有著侷限性,居中的元素需要設定寬度,而且是塊元素才行,並且只能實現水平居中,這個方法的原理是讓瀏覽器自動去計算左右邊距從而實現居中 big small第二種居中方式 使用text align center實現居中,這種居中...

CSS居中方法大全

內聯元素 text align center這個屬性會讓內聯子元素水平居中 塊級元素 margin left auto margin right auto 水平居中通用方法margin left 50 transform translatex 50 這個方法可以讓內聯元素自身居中,margin的百分...