参考资料

  1. css阴影颜色怎么设置
  2. 有没有现成的Vanta.js与CSS过渡模板?
  3. Flex布局如何优化页面加载速度?
  4. 如何编写CSS代码?
  5. CSS阴影边框
  6. div居中样式
  7. 详细说明Flexbox基础属性
  8. 如何用Flex布局制作响应式布局?

css div内容居中

水平居中

  1. 行内元素

    .parent {
      text-align: center;
    }
  2. 块级元素(固定宽度)

    .child {
      width: 200px;
      margin: 0 auto;
    }
  3. Flexbox

    .parent {
      display: flex;
      justify-content: center;
    }
  4. Grid

    .parent {
      display: grid;
      place-items: center;
    }

垂直居中

  1. 单行文本

    .parent {
      height: 100px;
      line-height: 100px;
    }
  2. Flexbox

    .parent {
      display: flex;
      align-items: center;
    }
  3. Grid

    .parent {
      display: grid;
      align-items: center;
    }
  4. 绝对定位(已知高度)

    .child {
      position: absolute;
      top: 50%;
      height: 50px;
      margin-top: -25px;
    }

水平垂直居中

  1. Flexbox

    .parent {
      display: flex;
      justify-content: center;
      align-items: center;
    }
  2. Grid

    .parent {
      display: grid;
      place-items: center;
    }
  3. 绝对定位 + Transform

    .child {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

完整示例

<!DOCTYPE html>
<html>
<head>
  <style>
    .flex-center {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 200px;
      border: 1px solid #000;
    }
    .grid-center {
      display: grid;
      place-items: center;
      height: 200px;
      border: 1px solid #000;
    }
  </style>
</head>
<body>
  <div class="flex-center">
    <div>Flexbox 居中内容</div>
  </div>
  
  <div class="grid-center">
    <div>Grid 居中内容</div>
  </div>
</body>
</html>