CSS水平垂直居中實(shí)現(xiàn)總結(jié)

在用CSS寫布局的時(shí)候浑娜,經(jīng)常要用到水平居中與垂直居中佑力。首先看下面這個(gè)div:

<body>
<div>
    <span>這是一個(gè)例子</span>
</div>
</body>

在body中定義了一個(gè)div,div中有一個(gè)內(nèi)聯(lián)元素span筋遭。下面分情況討論如何讓div和span在父容器中水平與垂直居中。

水平居中

  • 塊狀元素
    要讓上述的div水平居中非常簡(jiǎn)單漓滔,利用margin即可编饺。將margin的水平方向設(shè)置為auto即可達(dá)到水平居中效果。
div{
        width:200px;
        margin:0 auto;
    }
  • 內(nèi)聯(lián)元素
    對(duì)于文本响驴、圖片等內(nèi)斂元素的居中透且,可以通過設(shè)置其塊狀元素的父容器中的text-align屬性:
    div{
        width:200px;
        margin:0 auto;
        text-align: center;
    }

在上述div中的樣式中加入text-align:center的屬性,則div中的內(nèi)聯(lián)元素就會(huì)居中顯示豁鲤。

垂直居中

  • 塊狀元素
    塊狀元素的垂直居中可以利用相對(duì)定位或者絕對(duì)定位秽誊,當(dāng)元素設(shè)置相對(duì)定位或者絕對(duì)定位時(shí),設(shè)置其top和left為50%琳骡,這樣它的左上角就會(huì)在已定位的父容器的中間锅论。(注:此處設(shè)置相對(duì)定位不起作用,因?yàn)?0%是相對(duì)于body的高度的一半楣号,而此時(shí)body的高度由div決定最易。而絕對(duì)定位在此處是相對(duì)于初始包含塊的怒坯,也就是畫布或者HTML元素。)
    為了讓整體元素垂直居中耘纱,而不是左上角居中敬肚,可以借助margin屬性,令其margin-left為負(fù)的寬度的一半束析,margin-top為負(fù)的高度的一半艳馒。如下:
    div{
        width:200px;
        height: 500px;
        top:50%;
        left:50%;
        position:absolute;
        margin-top:-250px;
        margin-left:-100px;
    }

這樣就可以實(shí)現(xiàn)div的垂直居中,但是這種方法的前提是需要知道div的寬高员寇,如果不知道的話該怎么辦呢弄慰?
那就可以利用CSS3中的屬性transform

    div{
        top:50%;
        left:50%;
        position:absolute;
        transform: translate(-50%,-50%);
    }

該屬性可以相對(duì)于自身元素大小的50%進(jìn)行移動(dòng),不用提前指定元素大小蝶锋,所以相比來說這種方式比上面的margin的方式適應(yīng)性更強(qiáng)陆爽。

  • 內(nèi)聯(lián)元素
    內(nèi)聯(lián)元素的居中可以通過設(shè)置line-height屬性來定義:
    span{
        line-height: 300px;
    }

這樣該元素就會(huì)在這個(gè)300px的高度中居中顯示。

特殊情況:flex布局

對(duì)于父容器為flex布局的塊狀元素的居中扳缕,可以對(duì)齊父容器設(shè)置:

align-items: center;        /* 垂直居中 */
 justify-content: center;   /* 水平居中 */
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慌闭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躯舔,更是在濱河造成了極大的恐慌驴剔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粥庄,死亡現(xiàn)場(chǎng)離奇詭異丧失,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)惜互,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門布讹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人训堆,你說我怎么就攤上這事描验。” “怎么了坑鱼?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵膘流,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我姑躲,道長(zhǎng)睡扬,這世上最難降的妖魔是什么盟蚣? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任黍析,我火速辦了婚禮,結(jié)果婚禮上屎开,老公的妹妹穿的比我還像新娘阐枣。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布蔼两。 她就那樣靜靜地躺著甩鳄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪额划。 梳的紋絲不亂的頭發(fā)上妙啃,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音俊戳,去河邊找鬼揖赴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛抑胎,可吹牛的內(nèi)容都是我干的燥滑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼阿逃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼铭拧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恃锉,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤搀菩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后淡喜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秕磷,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年炼团,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澎嚣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘟芝,死狀恐怖易桃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情锌俱,我是刑警寧澤晤郑,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站贸宏,受9級(jí)特大地震影響造寝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吭练,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一诫龙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鲫咽,春花似錦签赃、人聲如沸谷异。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽歹嘹。三九已至,卻和暖如春孔庭,著一層夾襖步出監(jiān)牢的瞬間尺上,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工圆到, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尖昏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓构资,卻偏偏與公主長(zhǎng)得像抽诉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吐绵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案迹淌? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,737評(píng)論 1 92
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個(gè)單獨(dú)的外部文件中,這個(gè)css樣式文件以“.css...
    KunMitnic閱讀 931評(píng)論 0 1
  • 本文主要是起筆記的作用己单,內(nèi)容來自慕課網(wǎng). 認(rèn)識(shí)CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,630評(píng)論 0 30
  • CSS格式化排版 1唉窃、字體 我們可以使用css樣式為網(wǎng)頁中的文字設(shè)置字體、字號(hào)纹笼、顏色等樣式屬性纹份。下面我們來看一個(gè)例...
    張文靖同學(xué)閱讀 1,279評(píng)論 0 3
  • 收聽音頻,戳鏈接,舊號(hào)itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號(hào)可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,159評(píng)論 3 30