将div绝对设为特定div

时间:2018-09-10 12:22:13

标签: html css css-position

是否可以使div相对于特定亲戚div是绝对的,而不仅仅是父辈?

例如。我有一个包含在行内的div。但是,我希望它在section中是绝对的,而不是row。由于WordPress主题样式,两个div都位于relative处。如果我使用位置absolute,它将使其绝对到row

如何解决这个问题?

.section {
  width: 100%;
  height: 100%;
  position: relative;
  background: #f5f5f5;
}

.row {
  width: 80%;
  height: 100%;
  position: relative;
  background: #000000;
  margin: 0 auto;
}

.content {
  width: 200px;
  height: 200px;
  background: pink;
  position: absolute;
  right: 0;
  top: 0;
}
<div class="section">
  <div class="row">
    <div class="content">
    </div>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

这不是定位的工作方式。 div或任何其他元素与其上级有关。如果您想将元素放置在自己所拥有的部分中,则最好按以下方式构造代码:

<div class="section">
  <div class="absoluteDiv">
  </div>
  <div class="row">
  </div>
</div>

您可以找到更多示例here

希望有帮助, 康斯坦丁诺斯。

答案 1 :(得分:0)

尽管不能将div绝对指定为特定的div,但获得所需结果的一种方法是在行中添加overflow:visible;,在内容容器中添加left:100%;。出于演示目的,我将截面高度更改为300px,但其行为与100%相同。

.section {
  width: 100%;
  height: 300px;
  position: relative;
  background: #f5f5f5;
}

.row {
  width: 80%;
  height: 100%;
  position: relative;
  background: #000000;
  margin: 0 auto;
  overflow:visible;
}

.content {
  width: 200px;
  height: 200px;
  background: pink;
  position: absolute;
  left: 100%;
  top: 0;
}
<div class="section">
  <div class="row">
    <div class="content">
    </div>
  </div>
</div>