html – 使用z-index将div高于另一个div

前端之家收集整理的这篇文章主要介绍了html – 使用z-index将div高于另一个div前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望div1高于div2.我尝试使用z-index但它不起作用.

我试过这段代码

div {
  width: 100px;
  height: 100px;
}

.div1 {
  background: red;
  z-index: 1;
}
.div2 {
  background: blue;
  margin-top: -15vh;
  z-index: 2
}
<div class="div1"></div>
<div class="div2"></div>

解决方法

您可以添加位置:相对于两个div并创建 stacking context
div {
  width:100px;
  height: 100px;
}

.div1 {
  background: red;
  z-index: 2;
  position: relative;
}

.div2 {
  background: blue;
  margin-top: -15vh;
  z-index: 1;
  position: relative;
}
<div class="div1"></div>
<div class="div2"></div>

或者你可以使用transform-style: preserve-3d;所以现在.div1应该放在3D空间中而不是在平面上展平.

div {
  width:100px;
  height: 100px;
}

.div1 {
  background: red;
  z-index: 2;
  transform-style: preserve-3d;
}

.div2 {
  background: blue;
  margin-top: -15vh;
  z-index: 1;
}
<div class="div1"></div>
<div class="div2"></div>

您也可以使用一些随机transform,如translate或rotate

div {
  width:100px;
  height: 100px;
}

.div1 {
  background: red;
  z-index: 2;
  transform: translate(1px);
}

.div2 {
  background: blue;
  transform: translate(1px,-15vh);
  z-index: 1;
}
<div class="div1"></div>
<div class="div2"></div>

Filters也工作,但他们有糟糕的Support

div {
  width:100px;
  height: 100px;
}

.div1 {
  background: red;
  filter: brightness(0.4);
  z-index: 2;
}

.div2 {
  background: blue;
  margin-top: -15vh;
  filter: brightness(0.4);
  z-index: 1;
}
<div class="div1"></div>
<div class="div2"></div>

猜你在找的HTML相关文章