設定垂直居中的幾種方法

2021-10-24 19:34:07 字數 2750 閱讀 6078

設定垂直居中的幾種方法

自己知道的不多,所以去網上搜了幾種辦法,以後了解到了還會繼續補充:

(1)table-cell

將div的顯示方式設定為**,利用**的vertical-align:middle屬性:

clss

=>

class

="cell"

>

>

垂直居中div

>

div>

div>

>

.cell

style

>

這種方法是將容器用display: table變成乙個塊級**,然後用display: table-cell把子元素變成**單元格,然後就相當於在**中加vertical-align:middle,就可以實現垂直居中了。

話不多說直接上圖看看效果:

(2)display: flex

>

style

>

class

=>

class

="content"

>

垂直居中div

>

div>

還是上圖!

display: flex:是一種布局方式,既適用於塊級元素,也適用於行級元素,flex意為「彈性布局」,設定後子元素的float,vertical-align,clear屬性將失效。

justify-content:內容對齊,應用在彈性容器上,將彈性容器內的內容按照主軸線對齊:

justify-content: flex-start / flex-end / center / space-between / space-around

align-items:設定了flex容器的對齊方式。

(3)margin:auto和top,left,right,bottom都設定為0

>

.content

style

>

class

="content"

>

div>

上圖!為了效果我把圖截大點,邊邊角角都加上!!

(4)transform:translate(-50%,-50%)

往上移動自己寬度的50%,往左移動自身長度的50%

>

.content

style

>

class

="content"

>

垂直居中div

>

上!

與用margin-left和margin-top居中進行比較:

margin需要知道自身的寬高,而translate是相對於自身寬高的百分比而言,所以不需要知道自身的寬高。

(5)子絕父相

這個是個人之前在用的笨辦法,子元素用絕對定位,父級元素用相對定位,可以按照笨辦法一點一點挪過去,這裡提及一下,草草用個**解決一下就行了。

>

.father

.son

style

>

class

="father"

>

class

="son"

>

垂直居中div

>

div>

這樣子塊就可以在父塊中垂直居中

(6)display:inline-block

在網上有看到大佬這樣寫,自己嘗試了一下,還真成了,學到了學到了

>

.box

.box span

.box:after

style

>

class

="box"

>

>

垂直居中span

>

div>

:before 和 :after 的主要作用是在元素內容前後加上指定內容,這個方法是通過after來佔位,從而實現居中。

(7)line-height

這個也是我自己在用的方法,將行高設定和塊級元素一樣高就可

>

.box

style

>

class

="box"

>

>

垂直居中span

>

div>

垂直居中的方法還有很多種,上面幾種方法有的是我一直在用的,有的是仿照大佬寫的,總結下來自己也學到了不少,以後學到了新的垂直居中方法還會繼續補充!

css垂直居中的幾種方法

1.lineheight方法 html class container id div1 src test.png 一行文字span div css container div1 div1 img效果 說明 設定了lineheight和容器高度相同,vertical align middle 需要知道...

文字垂直居中的幾種方法

3 如果上面的 都不生效的話,有可能行內元素是在 裡面,這個時候可以利用inline元素的 css 屬性 vertical align 預設是 baseline 屬性,將其設定為 middle,這個屬性常用於 inline level 和 table cell 的元素。水平垂直居中 拓展 在垂直居中...

CSS垂直居中的幾種方法

對於乙個前端開發人員,元素居中在布局中相當常見,水平居中實現非常非常容易,如果是行內元素,設定text align center就行,如果是塊級元素,通過設定邊距margin auto可實現水平居中。垂直居中實現起來相對較為較為麻煩,不囉嗦,直接上乾貨。主要有下面幾種方法 1 絕對定位方法 id m...