1. 程式人生 > >css垂直居中七種方法

css垂直居中七種方法

  1. Margin:0 auto; 適用於塊狀元素具有寬高。不是用於文字居中。
  2. text-align:center可實現文字居中,vertical-align垂直居中文字;可用於內聯元素的居中
    text-align+line-height設定與height同大時,文字會水平垂直居中。
  3. text-align+display:inline-block實現元素以及文字的水平居中。若父元素與子元素div同高則視覺上會是水平垂直居中(實際上就是水平居中)
  4. relative+absolute+margin負元素邊距:父元素div是relative,子元素是absolute,那麼子元素需要設定top和left會根據父元素的位置進行偏移,再利用margin:負元素寬或者高進行調整。元素都已知寬高,並且可以相容IE6-7。缺點:靈活性差,不能自適應,寬高不支援百分比和min-和max-屬性。IETester工具可以用於頁面調整相容IE系列。 可以用於浮動元素居中定位。

    在這裡插入圖片描述
  5. absolute+margin:auto絕對居中定位。子元素設定top+left+right+bottom:0,margin:auto可以實現居中
    在這裡插入圖片描述
  6. absolute+transform:translate()+top:50%+left:50%實現如內聯img元素未知寬高時的居中定位。子元素新增transform: translate(-50%,-50%)。
    缺點:干擾到其他transform動畫效果。適用絕對定位元素的居中。

在這裡插入圖片描述
7. (流行用法)flex + justify-content + align-items:適用於未知寬高的情況。
在這裡插入圖片描述
8. Display:table+子元素table-cell