html - 一个 block 应该重叠两个相邻的 CSS

标签 html css position

我需要“div2”来重叠/覆盖它的两个相邻 block 。我可以用“div1”做到这一点,但我不能用“div3”做到这一点。有人知道怎么做吗?请在下面查看我的代码,了解我遇到的问题。谢谢!

HTML:

<div class="parent">
  <div class="child_1">Some div1</div>
  <div class="child_2">Some div2</div>
  <div class="child_3">Some div3</div>
</div>

CSS:

.parent {
  position: relative;
  font-size: 34px;
  border: 1px solid #000;
  background: #eef;
  height: 110px;
  width: 620px;
  margin: 20px
}

.child_1 {
  position: static;
  text-align:center;
  display: inline-block;
  margin-top:20px;
  margin-left:10px;
  height: 50px;
  width: 200px;
  border: 3px solid yellow;
  background:yellow;
}

.child_2 {
  position: relative;
  text-align:center;
  display: inline-block;
  margin-left:-30px;
  height: 80px;
  width: 200px;
  border: 3px solid blue;
  background:;
  left:-30px;
  top:-10px;
}

.child_3 {
  position: relative;
  display: inline-block;
  text-align:center;
  height: 50px;
  width: 200px;
  border: 3px solid yellow;
  background:yellow;
  left:-30px;
}

最佳答案

.child_3 需要 left:-60px; 才能重叠 .child_2

您必须将 .child_2 中的 -30px 添加到 child_3,所以 -30px -30px = -60px

补充:要真正让 child_2 覆盖 child_3,将 z-index:1 分配给 child_2:

.parent {
  position: relative;
  font-size: 34px;
  border: 1px solid #000;
  background: #eef;
  height: 110px;
  width: 620px;
  margin: 20px;
}

.child_1 {
  position: static;
  text-align:center;
  display: inline-block;
  margin-top:20px;
  margin-left:10px;
  height: 50px;
  width: 200px;
  border: 3px solid yellow;
  background:yellow;
}

.child_2 {
  position: relative;
  text-align:center;
  display: inline-block;
  margin-left:-30px;
  height: 80px;
  width: 200px;
  border: 3px solid blue;
  background:;
  left:-30px;
  top:-10px;
  z-index:1;
}

.child_3 {
  position: relative;
  display: inline-block;
  text-align:center;
  height: 50px;
  width: 200px;
  border: 3px solid yellow;
  background:yellow;
  left:-60px;
}
<div class="parent">
  <div class="child_1">Some div1</div>
  <div class="child_2">Some div2</div>
  <div class="child_3">Some div3</div>
</div>

关于html - 一个 block 应该重叠两个相邻的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40565453/

相关文章:

javascript - 查找 &lt;script&gt; 部分的 DOM 位置

html - 先垂直对齐 div 元素,再水平对齐下一列

html - 如何使用 CSS 在我的表单周围放置边框?

javascript - 从下拉列表中选择时自动触发单击按钮

html - 在 CSS 的 ID 末尾使用奇数/偶数定位 div

html - 如何为单个元素加载动画添加整页彩色背景?

Firefox 中的 CSS 工具提示悬停位置问题

jQuery Animate 将 div 重新排列到他们的目标?

javascript - 需要为悬停效果定义高度,但这会弄乱调整大小

javascript - 通过 jquery 循环更新子范围内容