盒子水平垂直居中

一、盒子没有固定的宽和高

方案 1 、Transforms 变形

这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义.必须加上

position: absolute;
top: 50%; left: 50%;
transform: translate(-50%,-50%);

优点:
1.内容可变高度
2.代码量少

缺点:

  1. IE8不支持
  2. 属性需要写浏览器厂商前缀
  3. 可能干扰其他transform效果
    4.某些情形下会出现文本或元素边界渲染模糊的现象
1、父元素相对定位,子元素决定定位top: 50%;left: 50%;transform: translate(-50%, -50%);
2、父子元素进行定位,对子元素绝对定位,子元素margin:auto;top:0;left:0;bottom:0;right:0; (定位布局)

3、父元素相对定位,对子元素绝对定位,子元素left:50%,top:50%;margin-left:-子元素一半的宽度;margin-top: - 子元素一半的高度 (百分比布局)

4、父元素 display:table-cell; vertical-align:middle; 子元素变成一个内联元素display:inline-block
5、父元素 display:flex; justify-content:center align-items:center,子元素自动居中 (伸缩盒布局)

你可能感兴趣的:(盒子水平垂直居中)