CSS 居中的多種辦法

  1. 最常用的水平居中法:把margin設(shè)為auto

    具體來說就是把要居中的元素的margin-left和margin-right都設(shè)為auto阅羹,此方法只能進行水平的居中玫镐,且對浮動元素或絕對定位元素?zé)o效。而且需要滿足三個條件
    ? 元素定寬
    ? 元素為塊級元素或行內(nèi)元素設(shè)置display:block
    ? 元素的margin-left和margin-right都必須設(shè)置為auto

  2. 使用 text-align:center
    這個沒什么好說的菱魔,只能對圖片拄丰,按鈕现斋,文字等行內(nèi)元素(display為inline或inline-block等)進行水平居中喜最。但要說明的是在IE6、7這兩個奇葩的瀏覽器中步责,它是能對任何元素進行水平居中的返顺。

  3. 使用line-height讓單行的文字垂直居中
    把文字的line-height設(shè)為文字父容器的高度,適用于只有一行文字的情況蔓肯。

  4. 使用絕對定位來進行居中
    此法只適用于那些我們已經(jīng)知道它們的寬度或高度的元素遂鹊。
    絕 對定位進行居中的原理是通過把這個絕對定位元素的left或top的屬性設(shè)為50%,這個時候元素并不是居中的,而是比居中的位置向右或向左偏了這個元素 寬度或高度的一半的距離蔗包,所以需要使用一個負的margin-left或margin-top的值來把它拉回到居中的位置秉扑,這個負的margin值就取元素寬度或高度的一半。

    170821_1.png

    運行效果:

170821_2.png
  1. 另一種使用絕對定位來居中的方法
    此法同樣只適用于那些我們已經(jīng)知道它們的寬度或高度的元素调限,并且遺憾的是它只支持IE8+,谷歌舟陆,火狐等符合w3c標(biāo)準(zhǔn)的現(xiàn)代瀏覽器。
    下面用一段代碼來了解這種方法:
170821_3.png

運行效果:


170821_2.png
  1. 使用浮動配合相對定位來進行水平居中
    此方法也是關(guān)于浮動元素怎么水平居中的解決方法耻矮,并且我們不需要知道需要居中的元素的寬度秦躯。
    浮動居中的原理是:把浮動元素相對定位到父元素寬度50%的地方,但這個時候元素還不是居中的裆装,而是比居中的那個位置多出了自身一半的寬度踱承,這時就需要他里面的子元素再用一個相對定位,把那多出的自身一半的寬度拉回來哨免。在這里包裹層wraper沒有設(shè)定實際寬度茎活,將會自適應(yīng)child的寬度,所以我們只要設(shè)置left:-50%就相當(dāng)于再移動該元素的一般的寬度了琢唾。這樣我們不需要知道子元素的具體寬度载荔。
    這種使用浮動配合相對定位來居中的方法,優(yōu)點是不用知道要居中的元素的寬度采桃,即使這個寬度是不斷變化的也行懒熙;缺點是需要一個多余的元素來包裹要居中的元素丘损。
    看下代碼:
    170821_4.png

    運行結(jié)果:

170821_5.png

注意:雖然看起來垂直也居中了,但實際上數(shù)值是有差距的工扎,因為子元素設(shè)置的width或者height是百分比的值跟父元素的值有關(guān)号俐。
設(shè)置width為百分比,不需要父元素明確設(shè)置width定庵。但是子元素設(shè)置height百分比,父元素必須明確設(shè)置高度踪危,原因如下兩圖蔬浙。因為上面的父元素沒有設(shè)置高度,所以top沒有起作用贞远,但是left起作用畴博,是因為父元素width不是強制性的。所以這里的.child不能設(shè)置top蓝仲,這個元素會有一定的偏移量俱病。
寬度:

170821_6.png

高度:

170821_7.png

總結(jié)來說就是:The offset is a percentage of the containing block's width (for 'left' or 'right') or height (for 'top' and 'bottom'). For 'top' and 'bottom', if the height of the containing block is not specified explicitly (i.e., it depends on content height), the percentage value is interpreted like 'auto'.

  1. 使用CSS3的transform屬性
170821_8.png
  1. 使用Flex布局
170821_9.png

前6種轉(zhuǎn)自http://www.cnblogs.com/2050/p/3392803.html并對一些錯誤進行了修改

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市袱结,隨后出現(xiàn)的幾起案子亮隙,更是在濱河造成了極大的恐慌,老刑警劉巖垢夹,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溢吻,死亡現(xiàn)場離奇詭異,居然都是意外死亡果元,警方通過查閱死者的電腦和手機促王,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來而晒,“玉大人蝇狼,你說我怎么就攤上這事〕酰” “怎么了迅耘?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诈胜。 經(jīng)常有香客問我豹障,道長,這世上最難降的妖魔是什么焦匈? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任血公,我火速辦了婚禮,結(jié)果婚禮上缓熟,老公的妹妹穿的比我還像新娘累魔。我一直安慰自己摔笤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布垦写。 她就那樣靜靜地躺著吕世,像睡著了一般。 火紅的嫁衣襯著肌膚如雪梯投。 梳的紋絲不亂的頭發(fā)上命辖,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音分蓖,去河邊找鬼尔艇。 笑死,一個胖子當(dāng)著我的面吹牛么鹤,可吹牛的內(nèi)容都是我干的终娃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼蒸甜,長吁一口氣:“原來是場噩夢啊……” “哼棠耕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起柠新,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤窍荧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恨憎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搅荞,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年框咙,在試婚紗的時候發(fā)現(xiàn)自己被綠了咕痛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡喇嘱,死狀恐怖茉贡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情者铜,我是刑警寧澤腔丧,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站作烟,受9級特大地震影響愉粤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拿撩,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一衣厘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦影暴、人聲如沸错邦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撬呢。三九已至,卻和暖如春妆兑,著一層夾襖步出監(jiān)牢的瞬間魂拦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工搁嗓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晨另,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓谱姓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刨晴。 傳聞我的和親對象是個殘疾皇子屉来,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 13,737評論 1 92
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關(guān)注微信itclanCoder公眾號可收聽更多音頻 前言 關(guān)于網(wǎng)...
    itclanCoder閱讀 8,159評論 3 30
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個單獨的外部文件中狈癞,這個css樣式文件以“.css...
    KunMitnic閱讀 931評論 0 1
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途茄靠。 HTML5 HTML介紹 H...
    PYLON閱讀 3,210評論 0 5
  • 昨日,女為悅己者容蝶桶,今日慨绳,去青絲情兩斷。本是寡情人真竖,奈何向情深脐雪。一朝黃梁起,自覺情無存恢共。 奈何甚涼闭角铩?...
    羅若閱讀 651評論 2 3