CSS 垂直居中

2021-08-26 12:13:49 字數 2473 閱讀 2636

被這個問題折磨很久了,一直沒有系統的整理,今天就系統的整理一下比較常用的,以後回顧的時候也可以參照

適用場景:單行文字,下拉框,按鈕等

原理:將單行文字設定行高以後,文字會位於行高的中間位置。也就是需要將元素的line-height設定成和高度一樣。

示例如下

.content

style>

class="content">我居中了div>

既然單行可以做到垂直居中,那麼多行肯定也是可以的

適用場景:多物件的垂直居中

原理:在要居中的物件外面包裹一層,將它們整個的 display 設定為 inline-block 模仿行內元素。但是包裹物件的內部還是以塊級元素的形式存在。

示例如下

.main

style>

class="main">

我居中了div>

我也是div>

div>

div>

這個應該是最常見的居中方式了

適用場景:多行文字的垂直居中,已知寬高

原理:利用絕對定位 top 和 left 50%,然後減去元素本身內容區的一半,就可以實現居中

示例如下

.main

.content

style>

class="main">

class="content">

div>

div>

適用場景:多行文字垂直居中

原理:這種方法跟上面的有些類似,但是這裡是通過 margin:auto 和 top,left,right,bottom 都設定為 0 實現居中。不過這裡得確定內部元素的高度,可以用百分比,比較適合移動端。

示例如下

.main

.content

style>

class="main">

class="content">

div>

div>

這裡需要注意設定父元素的 position 必須是 relative 或者 absolute 或者 fixed

適用場景:多物件垂直居中

原理:flex 布局 align-items 垂直居中,justify-content 水平居中

示例如下

.main

style>

class="main">

我居中了div>

我也居中了div>

div>

適用場景:多行文字的垂直居中技巧

原理:利用 display 將 div 設定成**的單元格,然後利用 veritical-align 實現垂直居中

示例如下

.main

style>

class="main">

我居中了div>

div>

這種方法和方法三類似

適用場景:多行文字垂直居中

原理:利用絕對定位 top 和 left 50%,然後減去元素本身內容區的一半,就可以實現居中

示例如下

.main

.content

style>

class="main">

class="content">

div>

div>

適用場景:多物件垂直居中

原理:利用 :before 偽類元素設定為 100% 高的 inline-block,再搭配上將需要居中的子元素同樣設定成 inline-block 性質後,就能使用 vertical-align:middle 來達到垂直居中的目的了,該方法需要注意去掉 inline-block 元素之間的 4-5px 小空隙。

示例如下

.main

.main

::before

.content

style>

class="main">

class="content">

div>

div>

css垂直居中技巧,我只會23個,你會幾個?

css 水平居中 垂直居中 水平垂直居中

一 水平居中 1 行內元素水平居中text align center 2 塊級元素水平居中margin 0 auto 3 多個塊狀元素的水平居中 實現多個水平排列的塊狀元素的水平居中,是將要水平排列的塊狀元素設為display inline block,然後在父級元素上設定text align ce...

css水平居中 垂直居中 水平垂直居中

css水平居中 垂直居中 水平垂直居中 水平居中 行內元素 block text align 塊級元素 方案一 分寬度定不定兩種情況 定寬度 margin 0 auto 作用 使盒子自己居中,意思是上下距離為0,auto就是左右自適應兩邊距離 不定寬度 設定子元素display inline blo...

css 垂直居中

先膜拜一下鏈結裡的人。1.這個方法把一些 div 的顯示方式設定為 因此我們可以使用 的 vertical align property 屬性。divid divid cell divclass content content goes herediv div div cell 2.這個方法使用絕對...