方法一

  #wrap{ position:absolute; width:300px; height:200px; top:50%; left:50%; transform:translate(-50%,-50%) ; background:#009688; } 若是下面的代码,其结果就是错误的

必备:CSS-DIV上下左右居中

  #wrap{

  width:300px;

  height:200px;

  margin-top:50%;

  margin-left:50%;

  transform:translate(-50%,-50%) ;

  background:#009688;

  }

  原因:

  当margin设置成百分数的时候,其top right bottom left的值是参照父元素盒子的宽度进行计算

  方法二

  直接用弹性盒布局,作用于父元素上实现

  parent{

  width:100%;

  height:100vh;

  display:flex;

  justify-content: center;//子元素水平居中

  align-items: center;//子元素垂直居中

  }