被這個問題折磨很久了,一直沒有系統的整理,今天就系統的整理一下比較常用的,以後回顧的時候也可以參照
適用場景:單行文字,下拉框,按鈕等
原理:將單行文字設定行高以後,文字會位於行高的中間位置。也就是需要將元素的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.這個方法使用絕對...