css水平居中,垂直居中

一崩溪、水平居中

<div class="parent">

? ? <div class="child"></div>

</div>

1. ?行內(nèi)元素水平居中

text-align: center可以實現(xiàn)在塊級元素內(nèi)部的行內(nèi)元素水平居中。此方法對inline斩松、inline-block伶唯、inline-table和inline-flex元素水平居中都有效。

.parent{

? ? text-align:center;

}

.child{

? ? display:inline-block;

}

2.塊級元素的水平居中

①將該塊級元素左右外邊距margin-left和margin-right設置為auto

.child{

? ? width:100px;//確保該塊級元素定寬

? ? margin:0 auto;

}

②使用table+margin

display:table在表現(xiàn)上類似block元素惧盹,但是寬度為內(nèi)容寬抵怎。

.child{

? ? display:table;

? ? margin:0 auto;

}

③使用absolute+transform

.child{

? ? position:absolute;

? ? left:50%;

? ? transform:translateX(-50%);

}

.parent{

? ? position:relative;

}

④使用flex+justify-content

.parent{

? ? display:flex;

? ? justify-content:center;

}

⑤使用flex+margin

.parent{

? ? display:flex;

}

.child{

? ? margin:0 auto;

}

3.多塊級元素水平居中

<div class="parent">

? ? <div class="child"></div>

? ? <div class="child"></div>

? ? <div class="child"></div>?

</div>

①利用flex布局

.parent{

? ? display:flex;

? ? justify-content:center;

}

②利用inline-block

.parent{

? ? text-align:center;

}

.child{

? ? display:inline-block;

}

4.浮動元素水平居中

①定寬的非浮動元素

通過子元素設置relative + 負margin

.parent{

? ? width:500px;

}

.child{

? ? position:relative;

? ? left:50%;

? ? margin-left:-250px;

}

②不定寬的浮動元素

.parent{

? ? float:left;

? ? position:relative;

? ? left:50%;

}

.child{

? ? float:left;

? ? position:relative;

? ? right:50%;

}

③利用flex布局

.parent{

? ? display:flex;

? ? justify-content:center;

}

.chlid{

? ? float:left;

}

5.絕對定位元素水平居中

.parent{

? ? position:relative;

}

.child{

? ? position:absolute;/*絕對定位*/

? ? width:200px;

? ? height:100px;

? ? margin:0auto;/*水平居中*/

? ? left:0;/*此處不能省略奋救,且為0*/

? ? right:0;/*此處不能省略,且為0*/

}

二反惕、垂直居中

1.單行內(nèi)聯(lián)元素垂直居中

.parent{

? ? height:120px;

? ? line-height:120px;

}

2.多行內(nèi)聯(lián)元素垂直居中

①利用flex布局(flex)

利用flex布局實現(xiàn)垂直居中,其中flex-direction: column定義主軸方向為縱向演侯。這種方式在較老的瀏覽器存在兼容性問題

.parent{

? ? height:140px;

? ? display:flex;

? ? flex-direction:column;

? ? justify-content:center;

}

②利用表布局

利用表布局的vertical-align: middle可以實現(xiàn)子元素的垂直居中

.parent{

? ? display:table;

? ? height:140px;

}

.child{

? ? display:table-cell;

? ? vertical-align:middle;

}

3.塊級元素垂直居中

①使用absolute+負margin(已知高度)

.parent{

? ? position:relative;

}

.child{

? ? position:absolute;??

? ? top:50%;

? ? height:100px;

? ? margin-top:-50px;

}

②使用absolute+transform(未知高度)

.parent{

? ? position:relative;

}

.child{

? ? position:absolute;

? ? top:50%;

? ? transform:translateY(-50%);

}

③使用flex+align-items

.parent{

? ? display:flex;

? ? align-items:center;

}

④使用table-cell+vertical-align

通過將父元素轉化為一個表格單元格顯示(類似<td>和<th>)姿染,再通過設置vertical-align屬性,使表格單元格內(nèi)容垂直居中

.parent{

? ? display:table-cell;

? ? vertical-align:middle;

}

三秒际、水平垂直居中

1.絕對定位與負邊距實現(xiàn)(已知高度寬度悬赏, 假設寬高100px )

.parent{

? ? position:relative;

}

.child{

? ? position:absolute;

? ? top:50%;

? ? left:50%;

? ? margin:-50px 0 0 -50px;

}

2.絕對定位與margin:auto(已知高度寬度, 假設寬高100px )

.parent{

? ? position:relative;

? ? height:100px;//必須有個高度

}

.child{

? ? position:absolute;

? ? top:0;

? ? left:0;

? ? right:0;

? ? bottom:0;

? ? margin:auto;//注意此處的寫法

}

3.絕對定位+CSS3(未知元素的高寬娄徊,常用)

.parent{

? ? position:relative;

}

.child {

? ? position:absolute;

? ? top:50%;

? ? left:50%;

? ? transform:translate(-50%,-50%);

}

4.flex布局

.parent{

? ? height:100vh;//必須有高度

? ? display:flex;

? ? justify-content:center;//水平居中

? ? align-items:center;//垂直居中

}

5.flex/grid與margin:auto(最簡單寫法)

.parent {

? ? height:?100vh;//必須有高度

? ? display:?grid;

}

.child {

? ? margin:?auto;

}

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闽颇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寄锐,更是在濱河造成了極大的恐慌兵多,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件橄仆,死亡現(xiàn)場離奇詭異剩膘,居然都是意外死亡,警方通過查閱死者的電腦和手機盆顾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門怠褐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人您宪,你說我怎么就攤上這事奈懒。” “怎么了宪巨?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵磷杏,是天一觀的道長。 經(jīng)常有香客問我揖铜,道長茴丰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任天吓,我火速辦了婚禮贿肩,結果婚禮上,老公的妹妹穿的比我還像新娘龄寞。我一直安慰自己汰规,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布物邑。 她就那樣靜靜地躺著溜哮,像睡著了一般滔金。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂嗓,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天餐茵,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛往枷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播道批,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼入撒!你這毒婦竟也來了隆豹?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤茅逮,失蹤者是張志新(化名)和其女友劉穎璃赡,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氮唯,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡鉴吹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惩琉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片豆励。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瞒渠,靈堂內(nèi)的尸體忽然破棺而出良蒸,到底是詐尸還是另有隱情,我是刑警寧澤伍玖,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布嫩痰,位于F島的核電站,受9級特大地震影響窍箍,放射性物質(zhì)發(fā)生泄漏串纺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一椰棘、第九天 我趴在偏房一處隱蔽的房頂上張望纺棺。 院中可真熱鬧,春花似錦邪狞、人聲如沸祷蝌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巨朦。三九已至米丘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糊啡,已是汗流浹背拄查。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悔橄,地道東北人靶累。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像癣疟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子潮酒,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 版權聲明:本文為CSDN博主「杜媛媛」的原創(chuàng)文章睛挚,遵循CC 4.0 by-sa版權協(xié)議,轉載請附上原文出處鏈接及本...
    瑪麗蓮做夢閱讀 243評論 0 1
  • display:設置元素的顯示方式 display:block(塊級元素) 默認為父元素寬高急黎,可設置寬高相對前序換...
    bluishwhiteC閱讀 658評論 0 0
  • CSS 是什么 css(Cascading Style Sheets)扎狱,層疊樣式表,選擇器{屬性:值勃教;屬性:值}h...
    崔敏嫣閱讀 1,473評論 0 5
  • 水平居中元素: 方式一:CSS3 transform .parent { position: relative...
    心羽暖姐姐閱讀 343評論 0 3
  • 詩和遠方 星空散盡點點光亮 地平線涌出天際的白 黎明有了破曉的裂縫 灰悶的空氣化為烏有 黑暗漸漸全身而退 百日的號...
    齽齽閱讀 212評論 0 0