元素垂直水平居中

HTML

<div className="parent">
    <div className="child"></div>
</div>

Css

1. 元素具有固定的寬高

1.1 使用絕對定位和負邊距

    .parent {
        position: relative;
        
        .child {
            width: 100px;
            height: 100px;
            position: absolute;
            top: 50%;
            left: 50%;
            margin-left: -50px;
            margin-top: -50px;
        }
    }
    
1.2 絕對定位和margin: 無需知道元素的寬高

    .parent {
        position: relative;
    
        .child {
            width: 50px;
            height: 50px;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
        }
    }

2. 未知高度和寬度的元素

2.1 元素為inline 或者inline-block 屬性

    .parent {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        .child {
            display: inline-block; 
        }
    }

2.2 Css 3 的transform屬性

translate:設(shè)置元素在X軸,Y軸上正方向的平移變換

.parent {
    position: relative;
    .child {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); // 相對自己往左往上平移50%的距離
   } 
}

2.3 flex 布局

.parent {
    display: flex;
    display: -webkit-flex; //Safari仍舊需要使用特定的瀏覽器前綴
    flex-direction: row;
    align-items: center;
    justify-content: center;
}   

或者

.parent {
    display: flex;
    .child {
        margin: 0;
   } 
} 

2.4 Gird 布局

但是Grid 更適合在兩個維度(包括行和列)中創(chuàng)建整個柵格化布局

.parent {
    display: grid;
    .child {
        justify-self: center;
        align-self: center;
   } 
}  

2.5 偽元素輔助布局

.parent {
   text-align: center;
   &::before {
       content: ''
       height: 100%;
       display: inline-block;
       vertical-align: middle;
   }
    .child {
      display: inline-block;
      vertical-align: middle;
   } 
}

注意

Grid 和 Flex 都有瀏覽器兼容性問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市首启,隨后出現(xiàn)的幾起案子慧域,更是在濱河造成了極大的恐慌,老刑警劉巖猪钮,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件好爬,死亡現(xiàn)場離奇詭異即彪,居然都是意外死亡味抖,警方通過查閱死者的電腦和手機评甜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仔涩,“玉大人忍坷,你說我怎么就攤上這事『熘” “怎么了承匣?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锤悄。 經(jīng)常有香客問我韧骗,道長,這世上最難降的妖魔是什么零聚? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任袍暴,我火速辦了婚禮,結(jié)果婚禮上隶症,老公的妹妹穿的比我還像新娘政模。我一直安慰自己,他們只是感情好蚂会,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布淋样。 她就那樣靜靜地躺著,像睡著了一般胁住。 火紅的嫁衣襯著肌膚如雪趁猴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天彪见,我揣著相機與錄音儡司,去河邊找鬼。 笑死余指,一個胖子當著我的面吹牛捕犬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酵镜,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碉碉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了笋婿?” 一聲冷哼從身側(cè)響起誉裆,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缸濒,沒想到半個月后足丢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡庇配,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年斩跌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捞慌。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耀鸦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啸澡,到底是詐尸還是另有隱情袖订,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布嗅虏,位于F島的核電站洛姑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏皮服。R本人自食惡果不足惜楞艾,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望龄广。 院中可真熱鬧硫眯,春花似錦、人聲如沸择同。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敲才。三九已至裹纳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間归斤,已是汗流浹背痊夭。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留脏里,地道東北人她我。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像迫横,于是被迫代替她去往敵國和親番舆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

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