参考资料

  1. 子选择器详细说明以及案例
  2. 如何提高Flex布局的性能?详细说明
  3. * 通配符选择器详细说明以及案例
  4. css div居中代码
  5. 颜色属性详细说明以及案例
  6. 层次/关系选择器详细说明以及案例
  7. Vanta.js 如何与 CSS 过渡结合?
  8. 动态伪类选择器详细说明以及案例

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>

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。