标签导航:

如何用CSS实现父容器中两个子div的居中重叠显示?

如何让父容器中的两个子div水平垂直居中并重叠显示?本文将演示如何使用css技巧,实现一个较大div和一个较小div在父div中居中,并使小div覆盖在大div之上。

为了达到重叠效果,我们需要巧妙运用position: absolute和margin: auto等属性。

首先,父div需要设置position: relative,为子div的绝对定位提供参考。然后,两个子div都设置position: absolute; left: 0; top: 0; right: 0; bottom: 0;,使其占据父div的全部空间。margin: auto;则实现水平和垂直居中。通过调整width和height属性,控制div大小,实现重叠效果。最后,父div可通过margin: 100px auto;实现页面水平居中。

以下为代码示例:

<div class="box">
  <div class="inner1"></div>
  <div class="inner2"></div>
</div>
.box {
  width: 500px;
  height: 500px;
  border: 5px solid red;
  margin: 100px auto;
  position: relative;
}

.inner1, .inner2 {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.inner1 {
  width: 400px;
  height: 400px;
  background-color: yellow; /* 大div背景色 */
}

.inner2 {
  width: 200px;
  height: 200px;
  background-color: blue; /* 小div背景色 */
}

.inner1代表较大div,.inner2代表较小div。 通过不同背景色,可清晰观察重叠效果。父div边框方便查看居中效果。 此方法确保子div不会超出父div边界。