IT培訓-高端面授IT培訓機構
          云和教育:云和數據集團高端IT職業教育品牌
          • 國家級
            全民數字素養與技能培訓基地
          • 河南省
            第一批產教融合型企業建設培育單位
          • 鄭州市
            數字技能人才(碼農)培養評價聯盟

          Web開發之CSS 的這幾個居中,你都知道嗎?

          • 發布時間:
            2019-06-24
          • 版權所有:
            云和教育
          • 分享:

          CSS居中是前端工程師經常要面對的問題,也是基本技能之一。 CSS中的居中可分為水平居中和垂直居中。水平居中分為行內元素居中和塊狀元素居中兩種情況,而塊狀元素又分為定寬塊狀元素居中和不定寬塊狀元素居中。今天,我們就和大家分享一些居中的常用方法。

          1、把margin設為auto

          配圖1 Web開發之CSS居中.jpg

          具體來說就是把要居中的元素的margin-left和margin-right都設為auto,此方法只能進行水平的居中,且對浮動元素或絕對定位元素無效。

          2、使用line-height讓單行文字垂直居中

          把文字的line-height設為文字父容器的高度,適用于只有一行文字的情況。

          配圖2 Web開發之CSS居中.jpg

          3、使用display:table-cell

          對于那些個不是表格的元素,我們可以通過display:table-cell 來把它模擬成一個表格單元格,然后結合text-align:center;vertical-align:middle;來使元素居中。

          4、利用css3的translate實現居中

          css3里的移動屬性也能實現元素的水平居中對齊。但是,需要注意的是只支持高版本瀏覽器,IE8及以下版本想都別想了。

          配圖3 Web開發之CSS居中.jpg

          5、彈性盒子實現垂直水平居中

          彈性盒子也是css3新增的樣式,完全解決了垂直布局難的問題。需要注意的是 :一樣要考慮瀏覽器的兼容性。

          6、使用表格

          如果你使用的是表格的話,那完全不用為各種居中問題而煩惱了,只要用到 td(也可能會用到 th)元素的 align=”center” 以及 valign=”middle” 這兩個屬性就可以完美的處理它里面內容的水平和垂直居中問題了,而且表格默認的就會對它里面的內容進行垂直居中。

          配圖4 Web開發之CSS居中.jpg

          如果想在css中控制表格內容的居中,垂直居中可以使用 vertical-align:middle,至于水平居中,貌似css中是沒有相對應的屬性的,但是在IE6、7中我們可以使用text-align:center來對表格里的元素進行水平居中,IE8+以及谷歌、火狐等瀏覽器的text-align:center只對行內元素起作用,對塊狀元素無效。

          7、使用絕對定位來進行居中

          此法只適用于那些我們已經知道它們的寬度或高度的元素。

          絕對定位進行居中的原理是通過把這個絕對定位元素的left或top的屬性設為50%,這個時候元素并不是居中的,而是比居中的位置向右或向左偏了這個元素寬度或高度的一半的距離,所以需要使用一個負的margin-left或margin-top的值來把它拉回到居中的位置,這個負的margin值就取元素寬度或高度的一半。

          如果只想實現一個方向的居中,則可以只使用left , margin-left 來實現水平居中,使用top , margin-top來實現垂直居中。

          8、終極定位元素居中

          配圖5 Web開發之CSS居中.jpg

          通過讓內部定位的盒子left,right,top,bottom四個值同時為0,然后讓margin的四個值自動平分空間,實現元素的垂直水平都居中對齊。一樣要注意的是IE7及以下低版本瀏覽器的不配合問題。

          以上所述就是云和數據小編給大家介紹的CSS實現居中的幾種方法,希望對大家有所幫助。