首页
/
每日頭條
/
職場
/
css水平垂直居中的方法
css水平垂直居中的方法
更新时间:2026-11-01 04:27:15
CSS 中幾種最常用的水平垂直居中的方法

[點擊打開視頻講解更加詳細](【面試題】CSS五種最常用水平垂直居中的方法_哔哩哔哩_bilibili)

一、使用 margin:auto

當元素有給定的高度以及寬度的時候,使用 margin: auto; 元素僅會水平居中,并不會進行垂直居中。

此時就需要設置元素的 position 為 absolute,父級元素的 position 為 relative,同時元素的上下左右都需要設置為 0。

<divclass="box"> <divclass="center1"></div> </div> .box{ width:200px; height:200px; background-color:#eee; position:relative; margin-top:20px; } .center1{ width:50px; height:50px; background-color:#00ACED; margin:auto; position:absolute; top:0; left:0; right:0; bottom:0; }

效果展示:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)1

二、使用 position:absolute

當已經知道了要進行水平垂直居中的元素的寬高時,就可以通過設置 position: absolute 來實現。

但是,使用的同時還需要結合其他屬性才完整實現。

因為,單是設置 absolute,上左距離均為一半,就會出現下面這種情況。

很顯然可以看到,元素并不是完全居中,僅隻有左上角的位置在中心點。

概念圖:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)2

因此想要實現元素完全水平垂直居中,在設置了 absolute 定位後,可以設置 margin 值為負,或者使用 calc 來計算,上左距離在 50% 的基礎上還要減去元素本身一半的寬高。

margin 值為負或者 calc 計算均是在已知元素寬高的情況下,假設不知道元素的寬高,那麼怎麼實現水平垂直居中呢?這裡就可以使用 transform 屬性,通過坐标位移來實現居中。

/*結合margin*/ .center2{ width:50px; height:50px; background-color:#7FFFD4; position:absolute; left:50%; top:50%; margin-left:-25px; margin-top:-25px; } /*結合calc計算*/ .center2{ width:50px; height:50px; background-color:#7FFFD4; position:absolute; left:calc(50%-25px) top:calc(50%-25px); } /*結合transform*/ .center2{ width:50px; height:50px; background-color:#7FFFD4; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }

效果展示:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)3

三、使用彈性布局

可以通過彈性布局來設置水平垂直居中,這裡需要設置父級元素 display:flex; 還需要設置兩個屬性,

水平布局 justify-content 以及垂直布局 align-items。

<divclass="box2"> <divclass="center4"></div> </div> .box2{ background-color:#eee; width:200px; height:200px; position:relative; margin-top:20px; display:flex; justify-content:center; align-items:center; } .center4{ width:50px; height:50px; background-color:#B39873; }

效果展示:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)4

四、文本水平對齊和行高

前面介紹的是元素如何實現水平垂直居中,下面介紹的是如何将文字進行水平垂直居中。

這第一個方法也是最經常用的,使用文本水平對齊 text-align 和行高 line-height 來實現的。

<divclass="box3"> <divclass="center5">文字居中</div> </div> .box3{ background-color:#eee; width:200px; height:200px; margin-top:20px; } .center5{ text-align:center; line-height:200px; }

效果展示:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)5

五、使用網格布局

第二個方法可以通過網格布局 grid 來實現。而這裡通過 grid 有兩種方式實現,一種對元素本身屬性進行設置,另一種在元素的父級元素中設置。兩者看上去内容似乎差不多,不同的是在元素中設置的是 align-self 還要多了一個 margin,父級元素中是 align-items。

/*grid元素中設置*/ .box4{ background-color:#eee; width:200px; height:200px; margin-top:20px; display:grid; } .center6{ align-self:center; justify-content:center; margin:auto; } /*grid父級元素中設置*/ .box5{ background-color:#eee; width:200px; height:200px; margin-top:20px; display:grid; align-items:center; justify-content:center; }

效果展示:

css水平垂直居中的方法(面試題CSS中幾種最常用的水平垂直居中的方法)6

[若對您有幫助,請點擊跳轉到B站一鍵三連哦!感謝支持!!!](【面試題】CSS五種最常用水平垂直居中的方法_哔哩哔哩_bilibili)

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
員工一直請假怎麼溝通
員工一直請假怎麼溝通
最近,來自荷蘭職業健康服務公司的數據表明,荷蘭有80%以上的人面臨着經濟、婚姻、父母養老和職場等方面的壓力,而這些壓力往往會導緻他們不能上班而請假。據了解,有超過三分之二的荷蘭人,由于以上這些壓力而請假。其中最常見的原因是家人的離世;而經濟...
2026-11-01
上拉電阻和下拉電阻的工作原理
上拉電阻和下拉電阻的工作原理
上拉電阻器非常普遍,您會一直在數字電路中看到它。它隻是一個電阻器,從輸入端連接到Vdd,電路的正電源。上拉電阻用于确保在未按下按鈕時輸入引腳上具有高電平狀态。如果沒有一個,您的輸入将是浮動的,并且您有可能在輸入在高和低之間随機變化,因為它在...
2026-11-01
佛系養魚有什麼特征
佛系養魚有什麼特征
各位魚友大家好!有任何觀賞魚飼養問題,可直接全網搜索養魚老道及關鍵詞,讓我們輕輕松松養水、快快樂樂養魚。從去年開始,我這裡的情況比較特殊,不可能飼養占用我時間特别長的觀賞魚,即使如此,除了适度拉長換水時間、盡量低密度飼養,減少了不少的人為工...
2026-11-01
第七屆全國職工職業技能大賽南京
第七屆全國職工職業技能大賽南京
第七屆全國職工職業技能大賽南京?10月16日,第七屆全國職工職業技能大賽決賽6個工種的比賽全部結束,我來為大家科普一下關于第七屆全國職工職業技能大賽南京?以下内容希望對你有幫助!第七屆全國職工職業技能大賽南京10月16日,第七屆全國職工職業...
2026-11-01
黑色沙漠新角色韓服
黑色沙漠新角色韓服
【17173編譯,轉載請注明出處】雖然《黑色沙漠》的新角色女格鬥家(Mystic)在韓服仍然未開放使用,但是開發商PearlAbyss仍然秉承其一貫的作風,将會開放“捏臉”功能,允許玩家們對這一好奇的新角色獲得先行體驗。(譯/我是希達熊)對...
2026-11-01
Copyright 2023-2026 - www.tftnews.com All Rights Reserved