居中大法

水平居中

  1. 行內(nèi)元素水平居中
    給它的父級元素設置
text-align:center;
  1. 塊級元素水平居中
    給該元素設置margin值
margin:0 auto;
  1. 子元素有浮動
    對父元素進行特殊設置
width:fit-content;
margin:0 auto;
  1. 使用彈性盒子(老版本)
    對父元素進行設置
display:box;//聲明彈性盒模型
box-orient:horizontal;//確定子元素方向歌殃,horizontal水平,vertical垂直
box-pack:center;//盒子內(nèi)部剩余空間對齊表現(xiàn)
  1. 使用彈性盒子(新版本)
    對父元素進行設置
display:flex;
flex-direction:row;//設置主軸方向
just-content:center;//主軸方向空間對齊方式
  1. transform方法
    父元素的position設置為relative,對子元素進行設置
position:absolute;
left:50%;
transform:translateX(-50%);//或translate(-50%,0)
  1. margin-left 負值
    父元素的position設置為relative,對子元素進行設置
position:absolute;
left:50%;
margin-left:-子元素寬度一半;
  1. 子元素絕對定位
    對子元素進行設置
position:absolute;
top:0;
bottom:0;
left:0;
right:0
margin:0 auto;

垂直居中

  1. 單文本內(nèi)容
line-height:100px;//line-height==父元素高度值
  1. 行內(nèi)塊級元素(即display為inline-block)
    為父元素添加偽類
.parent ::after{
content:"";
height:100%;
}
.parent ::after, .son{
display:inline-block;
vertical-align:middle;
}
  1. 子元素以表格形式渲染
    父元素display設置為table,再設置子元素
display:table-cell;
vertical-align:middle;
  1. flex布局
    設置父元素
display:box;
box-orient:vertical;
box-pack:center;
  1. flex布局
    設置父元素
display:flex;
flex-direction:column;
align-center:center;
  1. margin負半值
    父元素position:relative练慕,再設置子元素
position:absolute;
top:50%;
height:固定值民轴;
margin-top: -高度的一半管毙;
  1. 子元素相對定位
    父元素position:relative悯搔,再設置子元素
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto 0;
  1. 需要在居中元素前面放一個空塊級元素(比如div)即可,然后設置這個div的高度為50%,margin-bottom為元素高度的一半,而且居中元素需要清除浮動,需要注意的是,使用這種方法,如果你的居中元素是放在body中的話,需要給html,body設置一個height:100%的屬性
<div class="box"></div>
<div class="content">Content</div>
</pre>
<pre>
html,body{height:100%;}
 .box{
        height:50%;  /*相對父元素的高度的50%*/
        margin-bottom:-120px;
}
.content{
        clear:both;/*清除浮動*/
        width:240px;
        height:240px;
        position:relative;/*只能用相對定位*/
        background:green;
}

水平垂直居中

  1. 對于文本圖片
line-height:高度灾常;
tex-align:center;
  1. 定寬定高
    父元素為position:relative,再對子元素進行設置
position:absolute;
left:50%;
top:50%;
margin-left:-寬度一半;
margin-top:-高度一半发魄;
  1. 絕對定位+margin法
    對子元素進行設置
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
  1. 使用js動態(tài)計算
    水平居中元素應設置為絕對定位,獲取元素的位置,距離瀏覽器左邊盹牧,上邊的距離,并且進行賦值
    left:(瀏覽器的寬度-元素的寬度)/2
    top:(瀏覽器的高度-元素的高度)/2
var oBox=document.getElementById("box"),
      left=(document.documentElement.clientWidth-oBox.offsetWidth)/2,
      top = (document.documentElement.clientHeight)/2;
      oBox.style.left = left+"px";
      oBox.style.top = top+"px";
  1. 使用jQuery實現(xiàn)元素的水平垂直居中
    獲取元素
    獲取瀏覽器可視寬度$(window).width();
    獲取瀏覽器可視高度$(window).height();
    元素距離瀏覽器左邊的距離left:($(window).width()-元素.width())/2
    元素距離瀏覽器上邊的距離top:($(window).height()-元素.height())/2
    resize:當調(diào)整瀏覽器窗口的大小時,發(fā)生 resize 事件
var oBox = $("#box"),
       oW = $(window).width(),   //獲取瀏覽器的可視寬度
       oH  = $(window).height(), //獲取瀏覽器的可視高度
       l = (oW-oBox.width())/2,  // 元素距離瀏覽器左邊的距離
       t = (oH-oBox.height())/2; //元素距離瀏覽器右邊的距離
       oBox.css({                    //賦值操作,left,top值
           left:l,
           top:t
        });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末励幼,一起剝皮案震驚了整個濱河市汰寓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赏淌,老刑警劉巖踩寇,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啄清,死亡現(xiàn)場離奇詭異六水,居然都是意外死亡,警方通過查閱死者的電腦和手機辣卒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門掷贾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荣茫,你說我怎么就攤上這事想帅。” “怎么了啡莉?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵港准,是天一觀的道長。 經(jīng)常有香客問我咧欣,道長浅缸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任魄咕,我火速辦了婚禮衩椒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己毛萌,他們只是感情好苟弛,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阁将,像睡著了一般膏秫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上做盅,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天荔睹,我揣著相機與錄音,去河邊找鬼言蛇。 笑死僻他,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的腊尚。 我是一名探鬼主播吨拗,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼婿斥!你這毒婦竟也來了劝篷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤民宿,失蹤者是張志新(化名)和其女友劉穎娇妓,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體活鹰,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡哈恰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了志群。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片着绷。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖锌云,靈堂內(nèi)的尸體忽然破棺而出荠医,到底是詐尸還是另有隱情,我是刑警寧澤桑涎,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布彬向,位于F島的核電站,受9級特大地震影響攻冷,放射性物質(zhì)發(fā)生泄漏娃胆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一讲衫、第九天 我趴在偏房一處隱蔽的房頂上張望缕棵。 院中可真熱鬧孵班,春花似錦、人聲如沸招驴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽别厘。三九已至虱饿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間触趴,已是汗流浹背氮发。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冗懦,地道東北人爽冕。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像披蕉,于是被迫代替她去往敵國和親颈畸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案没讲? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,753評論 1 92
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,179評論 3 30
  • 各種純css圖標 CSS3可以實現(xiàn)很多漂亮的圖形眯娱,我收集了32種圖形,在下面列出爬凑。直接用CSS3畫出這些圖形徙缴,要比...
    劍殘閱讀 9,547評論 0 8
  • 春桃 (限韻下平七陽) 春萍幾片綠池塘, 紅桃一枝出粉墻嘁信。 俏面不爭韶光艷于样, 溪頭無聊逗鴛鴦。 又 (不限韻) 墻...
    錢塘小泥鰍閱讀 259評論 0 0
  • 準備階段 準備yum源 刪除默認的源吱抚,國外的比較慢 下載阿里云的base源 下載阿里云的epel源 修改里面的系統(tǒng)...
    netmouser閱讀 2,041評論 1 1