CSS居中方案總結(jié)

1.代碼部分

  1. 塊級(jí)元素
<div class="parent">
  <div class="child">child</div>
</div>
  1. 行內(nèi)元素
<div class="parent">
  <span class="child">child</span>
</div>

2.水平居中

  • 行內(nèi)元素居中 text-align:center;
.parent {
  text-align: center;
}
  • 塊級(jí)元素 margin:auto;
    低版本瀏覽器兼容需設(shè)置 text-align:center;
.parent {
  text-align: center;  
}
.child {
  margin: auto;
  border: 1px solid red;
}

3.垂直居中

1.行內(nèi)元素(單行文字垂直居中) line-height=height

.parent {
  height: 200px;
  line-height: 200px;
  border: 1px solid red;
}

2.塊級(jí)元素:絕對(duì)定位+margin(需要提前知道其尺寸)

  • 優(yōu)點(diǎn)是兼容性好
  • 缺點(diǎn)是需要提前知道其尺寸
 .parent {
  position: relative;
  height: 200px;
}
.child {
  width: 80px;
  height: 40px;
  background: blue;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -20px;
  margin-left: -40px;
}

3.塊級(jí)元素:絕對(duì)定位+transform

  • 優(yōu)點(diǎn)是不需要提前知道其尺寸
  • 缺點(diǎn)是兼容性不好
.parent {
  position: relative;
  height: 200px;
}
.child {
  width: 80px;
  height: 40px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: blue;
}

4.塊級(jí)元素:絕對(duì)定位+margin: auto; (優(yōu)先選用)

  • 優(yōu)點(diǎn)是不需要提前知道其尺寸,兼容性好
  • 暫時(shí)未發(fā)現(xiàn)缺點(diǎn)
.parent {
  position: relative;
  height: 200px;
}
.child {
  width: 80px;
  height: 40px;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: blue;
}

5.塊級(jí)元素:padding

  • 缺點(diǎn)是如果高度固定,需要七天計(jì)算尺寸(只在某些特定情況下適用)
.parent {
  padding: 5% 0;
}
.child {
  padding: 10% 0;
  background: blue;
}

6.塊級(jí)元素:display: table-cell;

適用于多行文字居中處理

.parent {
  width: 600px;
  height: 200px;
  border: 1px solid red;
  display: table;
}
.child {
  display: table-cell;
  vertical-align: middle;
}

or

.parent {
  height: 300px;
  border: 1px solid red;
  display: table-cell;
  vertical-align: middle; 
}

7.塊級(jí)元素:display: flex;

缺點(diǎn)是兼容性不好

.parent {
  width: 600px;
  height: 200px;
  border: 1px solid red;
  display: flex;
  align-items: center;
  justify-content: center;/*水平居中*/
 }
.child {
  background: blue;
}

8.塊級(jí)元素:偽元素

.parent {
  width: 300px;
  height: 300px;
  border: 1px solid red;
  text-align: center;
}
.child {
  background: blue;
  width: 100px;
  height: 40px;
  display: inline-block;
  vertical-align: middle;
}
.parent::before {
  content: "";
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}

9.塊級(jí)元素:calc()

不推薦
缺點(diǎn)是兼容性差行瑞,需要使用calc

.parent {
  width: 300px;
  height: 300px;
  border: 1px solid red;
  position: relative;
}
.child {
  width: 100px;
  height: 100px;
  bckground: blue;
  padding: calc((100% - 100px)/2);
  background-clip: content-box;
}

10.塊級(jí)元素:display: inline-block;

html代碼:

 <div class="parent">
  <div class="child">child</div>
  <div class="brother">brother</div>
</div>

CSS代碼:

.parent {
  width: 400px;
  height: 400px;
  border: 1px solid red;
  position: relative;
}
.child, .brother {
  display: inline-block;
  vertical-align: middle;
}
.child {
  background: blue;
  font-size: 12px;
}
.brother {
  height: 400px;
  font-size: 0;
}

11.table布局

不推薦,html中需要額外增加table等標(biāo)簽彰触,冗余且改變了html結(jié)構(gòu)

 <table>
  <tr>
    <td align="center" valign="middle">content</td>
  </tr>
</table>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末却紧,一起剝皮案震驚了整個(gè)濱河市陌僵,隨后出現(xiàn)的幾起案子荞雏,更是在濱河造成了極大的恐慌虐秦,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯檐,死亡現(xiàn)場離奇詭異羡疗,居然都是意外死亡染服,警方通過查閱死者的電腦和手機(jī)别洪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柳刮,“玉大人挖垛,你說我怎么就攤上這事”牛” “怎么了痢毒?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蚕甥。 經(jīng)常有香客問我哪替,道長,這世上最難降的妖魔是什么菇怀? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任凭舶,我火速辦了婚禮晌块,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘帅霜。我一直安慰自己匆背,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布身冀。 她就那樣靜靜地躺著钝尸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搂根。 梳的紋絲不亂的頭發(fā)上珍促,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音剩愧,去河邊找鬼踢星。 笑死,一個(gè)胖子當(dāng)著我的面吹牛隙咸,可吹牛的內(nèi)容都是我干的沐悦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼五督,長吁一口氣:“原來是場噩夢啊……” “哼藏否!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起充包,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤副签,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后基矮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淆储,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年家浇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了本砰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钢悲,死狀恐怖点额,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情莺琳,我是刑警寧澤还棱,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站惭等,受9級(jí)特大地震影響珍手,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一琳要、第九天 我趴在偏房一處隱蔽的房頂上張望料扰。 院中可真熱鬧,春花似錦焙蹭、人聲如沸晒杈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拯钻。三九已至,卻和暖如春撰豺,著一層夾襖步出監(jiān)牢的瞬間粪般,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國打工污桦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亩歹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓凡橱,卻偏偏與公主長得像小作,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子稼钩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案顾稀? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評(píng)論 1 92
  • 塊級(jí)元素居中 html代碼部分 行內(nèi)元素居中 html代碼部分 水平居中 01 行內(nèi)元素 text-align: ...
    流動(dòng)碼文閱讀 251評(píng)論 0 2
  • 1.絕對(duì)定位居中技術(shù) 我們一直用margin:auto實(shí)現(xiàn)水平居中,而一直認(rèn)為margin:auto不能實(shí)現(xiàn)垂直居...
    DecadeHeart閱讀 1,606評(píng)論 0 3
  • display: none; 與 visibility: hidden; 的區(qū)別 聯(lián)系:它們都能讓元素不可見 區(qū)別...
    紋小艾閱讀 1,512評(píng)論 0 1
  • “我的小孩做事情總是三分鐘熱度,怎么辦巡李?”這個(gè)問題相信是大部分家長都會(huì)碰到的孩子教養(yǎng)問題抚笔!事實(shí)上,從小培養(yǎng)孩子專注...
    R上善若水閱讀 1,520評(píng)論 0 8