前端秘籍,CSS垂直居中必學(xué)八式,一招一式盡顯功力

前言

設(shè)計(jì)網(wǎng)頁的時候,除了CSS水平居中的需求外,還會經(jīng)常遇到CSS垂直居中的需求,CSS垂直居中跟CSS水平居中一樣都是前端設(shè)計(jì)師的基本功。

這篇教程將我以往用過的8種CSS實(shí)現(xiàn)垂直居中的方法總結(jié)出來,也方便日后再用到時回顧。


工具/原料

CSS3

方法/步驟

1.通過verticle-align:middle實(shí)現(xiàn)CSS垂直居中。

通過vertical-align:middle實(shí)現(xiàn)CSS垂直居中是最常使用的方法,但是有一點(diǎn)需要格外注意,vertical生效的前提是元素的display:inline-block。


2.通過display:flex實(shí)現(xiàn)CSS垂直居中。

隨著越來越多瀏覽器兼容CSS中的flexbox特性,所以現(xiàn)在通過“display:flex”實(shí)現(xiàn)CSS水平居中的方案也越來越受青睞。

通過display:flex實(shí)現(xiàn)CSS垂直居中的方法是給父元素display:flex;而子元素align-self:center;

這個跟CSS水平居中的原理是一樣的,只是在flex-direction上有所差別,一個是row(默認(rèn)值),另外一個是column。


3.通過偽元素:before實(shí)現(xiàn)CSS垂直居中。

具體方式是為父元素添加偽元素:before,使得子元素實(shí)現(xiàn)垂直居中。


4.通過display:table-cell實(shí)現(xiàn)CSS垂直居中。

給父元素display:table,子元素display:table-cell的方式實(shí)現(xiàn)CSS垂直居中。

學(xué)習(xí)交流前端方面的技術(shù),打算深入了解這個行業(yè)的朋友,可以加下小編的前端學(xué)習(xí)裙330336289,邀請碼(寂靜)

每天都有分享前端知識和學(xué)習(xí)方法,歡迎小伙伴加入交流

5.通過隱藏節(jié)點(diǎn)實(shí)現(xiàn)CSS垂直居中。

創(chuàng)建一個隱藏節(jié)點(diǎn)#hide,使得隱藏節(jié)點(diǎn)的height值為剩余高度的一半即可。

這種方法也適用于CSS水平居中,原理一樣。


6.已知父元素高度通過transform實(shí)現(xiàn)CSS垂直居中。

給子元素的position:relative,再通過translateY即可定位到垂直居中的位置。


7.未知父元素高度通過transform實(shí)現(xiàn)CSS垂直居中。

先給父元素position:relative,再給子元素position:absolute,通過translateY即可定位到垂直居中的位置。

??

8.通過line-height實(shí)現(xiàn)CSS垂直居中。

設(shè)置子元素的line-height值等于父元素的height,這種方法適用于子元素為單行文本的情況。

??

注意事項(xiàng)

前三種方法是瀏覽器兼容性最友好的,尤其是第1、3種,其它的或多或少會有些瀏覽器兼容性問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,090評論 1 92
  • H5移動端知識點(diǎn)總結(jié) 閱讀目錄 移動開發(fā)基本知識點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,814評論 0 26
  • 移動開發(fā)基本知識點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,711評論 0 6
  • 1. 前言 前端圈有個“?!保涸诿嬖嚂r,問個css的position屬性能刷掉一半人,其中不乏工作四五年的同學(xué)。在...
    YjWorld閱讀 4,877評論 5 15
  • 打卡日期:2018/3/02 打卡累計(jì)天數(shù):2/30 宣言:學(xué)會管理自己的情緒,是給孩子最好的情緒課 加油小寶(悅...
    芳芳_f1a1閱讀 136評論 0 0

友情鏈接更多精彩內(nèi)容