css 有哪些方式可以實現垂直居中

2021-09-19 03:10:12 字數 1789 閱讀 4677

《css 有哪些方式可以實現垂直居中》

居中是前端排版的乙個重要話題,今天我們就來梳理一下垂直居中的方法。

布局的解決方案,基於盒狀模型,依賴 display 屬性 + position 屬性 + float 屬性 + flexbox,咱們就從這幾點入手。

垂直居中的方式?

html 如下:

nihaoa

預設的 css 如下:

.out 

.in

①子元素 line-height: 100%,**少,相容性好,但子元素背景色覆蓋了父元素:

.in
②子元素 absolute+auto,相容性好,但需要設定子元素的高度:

.out 

.in

③ 子元素 top+margin-top,相容性好,但需要設定子元素的高度 :

.out 

.in

④ 子元素 absolute+ translatey,無需設定子元素的高度,但相容性不好:

.out 

.in

⑤ 子元素 top: calc(),只需設定子元素,但需要知道子元素的高度,且相容性不好:

.in
⑥ 父元素 display: flex; 設定很簡單,但相容性不好

.out
⑦ 父元素 display: flex;+ 子元素 margin:auto;設定簡單,比 6 稍微複雜,但同樣相容性不好:

.out 

.in

⑧ table 布局,相容性好,但子元素背景色會覆蓋父元素,且效能不好:

.out 

.in

⑨ 相容性好,但需要知道父元素高度,且比較複雜:

.out:after 

.in

如上

如何水平居中?

方法如下:

①子元素 margin: auto;

.in
②對於行內元素 text-align: center;

.in
③和②相似

.out 

.in

④絕對定位 + left+ margin-left

.out 

.in

⑤絕對定位 + left+ translatex

.out 

.in

⑥子元素 display: table;

.in
⑦父元素 display: flex;+ 子元素 margin:auto;

.out 

.in

⑧父元素 display: flex;

.out 

.in

CSS中有哪些方法可以實現垂直居中?

幾種常用到的垂直居中方法 行內元素 單行 行內元素 1.一般用line height來實現垂直居中,用text ailgn實現水平居中 多行 行內元素 1.用 的vertical align來實現垂直居中 2.用flex彈性布局 塊級元素 1.通過padding實現垂直居中 2.flex布局實現垂直...

CSS實現元素水平居中 垂直居中 水平垂直居中

1.元素水平居中 1.1行內元素水平居中 1.2塊級元素水平居中 1.2.1定寬塊級元素的水平居中 1.2.2不定寬塊級元素水平居中 2.元素垂直居中 2.1 單行文字垂直居中 2.2 多行文字垂直居中 2.3塊級元素垂直居中 3.元素水平垂直居中 像文字text 影象img 按鈕等行內元素要實現水...

CSS中有哪些方法可以實現垂直居中(一)?

這裡是修真院前端小課堂,每篇分享文從 本篇分享的是 css中有哪些方法可以實現垂直居中?1 背景介紹 在前端開發過程中,對頁面進行布局時,除了css水平居中的需求外,還會經常遇到css垂直居中的需求,css垂直居中跟css水平居中一樣都是前端工程師的基本功。2 知識剖析 幾種常用到的垂直居中方法 1...