参考资料

  1. CSS响应式详细说明以及案例
  2. 多重选择器详细说明以及案例
  3. css3中设置阴影的属性是
  4. Flexbox布局有哪些常见的误区?
  5. 后代选择器详细说明以及案例
  6. 边框属性详细说明以及案例
  7. CSS 阴影边框设置
  8. css中设置div居中

CSS使div居中的方法

水平居中

方法1:margin auto

div {
  width: 200px;
  margin: 0 auto;
}

方法2:flexbox

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

垂直居中

方法1:flexbox

.parent {
  display: flex;
  align-items: center;
  height: 300px; /* 需要指定高度 */
}

方法2:绝对定位 + transform

div {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

水平垂直居中

方法1:flexbox

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
}

方法2:绝对定位 + transform

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

方法3:grid

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

完整示例

<!DOCTYPE html>
<html>
<head>
<style>
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  border: 1px solid #ccc;
}

.box {
  width: 100px;
  height: 100px;
  background-color: lightblue;
}
</style>
</head>
<body>

<div class="flex-center">
  <div class="box"></div>
</div>

</body>
</html>