css - 如何使用 CSS 将子元素定位到父元素的顶部

标签 css

在我的情况下,有两个盒子,每个盒子都有一个小的子盒子。父盒和子盒都是绝对定位的。我的要求是将第一个盒子内的小盒子放在第二个大盒子的顶部。我们如何使用 z-index 来实现。或者有什么其他方法可以实现这一目标。

HTML

<div id="boxes">
  <div id="dd-demo-1" class="dd-demo">
    <strong>A</strong>
    <br>position:
    <span>absolute</span>
    <br>z-index:
    <span>12</span>
    <div id="div1">
      <strong>a</strong>
      <br>position:
      <span>absolute</span>
      <br>z-index:
      <span>14</span>
    </div>
  </div>
  <div id="dd-demo-2" class="dd-demo">
    <strong>B</strong>
    <br>position:
    <span>absolute</span>
    <br>z-index:
    <span>not set</span>
    <div id="div2">
      <strong>b</strong>
      <br>position:
      <span>absolute</span>
      <br>z-index:
      <span>not set</span>
    </div>
  </div>
</div>

CSS

#dd-demo-1 {
  position: absolute;
  z-index: 12;
}

#div1 {
  position: absolute;
  z-index: 14;
  left: 42px;
  top: 165px;
}

#dd-demo-2 {
  position: absolute;
  top: 235px;
  z-index: 12;
}

#div2 {
  position: absolute;
  left: 30px;
  top: 29px;
  z-index: 12;
}

.dd-demo {
  text-align: center;
  border: 1px inset #ccc;
  color: #fff;
  height: 14em;
  width: 15em;
  padding-top: 5px;
  position: absolute;
  z-index: 12;
}

#div1,
#Aafield {
  background-color: #00ffff;
  color: #000000;
}

#dd-demo-1,
#Afield {
  background-color: #0066ff;
  color: #ffffff;
}

#dd-demo-2,
#Bfield {
  background-color: #006600;
  color: #ffffff;
}

#div2,
#Bbfield {
  background-color: #00ff00;
  color: #000000;
}

#div1,
#div2,
#div3 {
  text-align: center;
  margin: 1em auto;
  height: 6em;
  width: 11em;
  border: 1px outset #ccc;
}

Codepen 链接:https://codepen.io/nhjsph/full/NzgPVP/

最佳答案

我已经更改了您的 CSS 的某些部分。

更新了这些样式

#dd-demo-1 {
  z-index: 12;
}

#div1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 !important;
}

#dd-demo-1 {
  z-index: 12;
}

#div1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 !important;
}

#dd-demo-2 {
  position: absolute;
  top: 235px;
  z-index: 12;
}

#div2 {
  position: absolute;
  left: 30px;
  top: 29px;
  z-index: 12;
}

.dd-demo {
  text-align: center;
  border: 1px inset #ccc;
  color: #fff;
  height: 14em;
  width: 15em;
  padding-top: 5px;
  position: absolute;
  z-index: 12;
}

#div1,
#Aafield {
  background-color: #00ffff;
  color: #000000;
}

#dd-demo-1,
#Afield {
  background-color: #0066ff;
  color: #ffffff;
}

#dd-demo-2,
#Bfield {
  background-color: #006600;
  color: #ffffff;
}

#div2,
#Bbfield {
  background-color: #00ff00;
  color: #000000;
}

#div1,
#div2,
#div3 {
  text-align: center;
  margin: 1em auto;
  height: 6em;
  width: 11em;
  border: 1px outset #ccc;
}
<div id="boxes">
  <div id="dd-demo-1" class="dd-demo">
    <strong>A</strong>
    <br>position:
    <span>absolute</span>
    <br>z-index:
    <span>12</span>

    <div id="div1">
      <strong>a</strong>
      <br>position:
      <span>absolute</span>
      <br>z-index:
      <span>14</span>
    </div>

  </div>
  <div id="dd-demo-2" class="dd-demo">
    <strong>B</strong>
    <br>position:
    <span>absolute</span>
    <br>z-index:
    <span>not set</span>
    <div id="div2">
      <strong>b</strong>
      <br>position:
      <span>absolute</span>
      <br>z-index:
      <span>not set</span>
    </div>
  </div>
</div>

关于css - 如何使用 CSS 将子元素定位到父元素的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50829649/

相关文章:

html - 添加破折号直到换行

javascript - 在 Jquery load() 之后设置 div 的高度

css - 拉伸(stretch)时如何计算图像内对象的x和y?

html - CSS 内容不会包裹多个 div

javascript - 缓存刷新页面后 Bootstrap 工具提示不起作用

html - 有没有办法制作固定的背景图像而没有滞后?

jquery - 使用 JQuery 更改其他部门的事件类

php - 将文本从网站发布到数据库时发生未知错误

css - id 为 "foo:bar"形式的元素的 CSS 选择器

php - 如果使用 jquery 出现错误,则无法为某些字段显示红色