参考资料

  1. 元素选择器详细说明以及案例
  2. Flex布局如何优化页面加载速度?
  3. 层次/关系选择器详细说明以及案例
  4. 类选择器详细说明以及案例
  5. css阴影效果怎么设置
  6. 如何避免 CSS 过渡动画卡顿?
  7. 如何编写CSS代码?
  8. CSS格式化/压缩有哪些

css中div居中详细说明

CSS中div居中的方法

水平居中

1. 使用margin: auto

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

2. 使用text-align (适用于内联元素)

.container {
  text-align: center;
}
div {
  display: inline-block;
}

3. 使用flexbox

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

垂直居中

1. 使用line-height (适用于单行文本)

div {
  height: 100px;
  line-height: 100px;
}

2. 使用padding

div {
  padding: 50px 0;
}

3. 使用flexbox

.container {
  display: flex;
  align-items: center;
  height: 300px;
}

水平和垂直同时居中

1. 使用绝对定位和transform

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

2. 使用flexbox

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

3. 使用grid布局

.container {
  display: grid;
  place-items: center;
  height: 100vh;
}

完整示例

<!DOCTYPE html>
<html>
<head>
<style>
  /* 方法1: flexbox */
  .container1 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    background: #f0f0f0;
    margin-bottom: 20px;
  }
  
  .box {
    width: 100px;
    height: 100px;
    background: #3498db;
  }
  
  /* 方法2: 绝对定位 */
  .container2 {
    position: relative;
    height: 200px;
    background: #e0e0e0;
  }
  
  .centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    background: #e74c3c;
  }
</style>
</head>
<body>

<div class="container1">
  <div class="box"></div>
</div>

<div class="container2">
  <div class="centered"></div>
</div>

</body>
</html>