CSS重叠相同大小的div

时间:2017-07-08 22:41:12

标签: html css position absolute

我想在另一个div的顶部有一个div。在放置位置之前:绝对,顶部div上的p看起来很棒,但是当我放置位置:绝对时,它显示三个p在一条直线上,它们之间没有空格。

如何将这个div设置为position:absolute使p在不同的行中,就像它应该是?

以下是我正在尝试做的一个例子:

<div class="box">
<p>Some text</p>

<div class="box-top">
<p>• Line 1</p>
<p>• Line 2</p>
<p>• Line 3</p>
</div>

</div>

就像我之前说的那样,我想在另一个div(“box”)的顶部放一个div(“box-top”)。

2 个答案:

答案 0 :(得分:0)

这是答案。希望这是你正在寻找的。 一个div有黑色背景。重叠的div有一个不透明度为50%的红色背景。

如果你的p呈现内联而不是一个上面的内容,很可能你没有定义你的DOCTYPE或者没有在你的html文档中使用html标签=&gt;用它作为入门骨架。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>

  </body>
</html>

然后是工作示例。

.flex {
  display:-webkit-box; /*OLD-iOS 6-,Safari 3.1-6 */
  display:-moz-box;    /*OLD-Firefox 19*/
  display:-ms-flexbox; /* TWEENER - IE 10 */
  display:-webkit-flex;/* NEW - Chrome */
  display: flex;
  position: relative;
}

.box {
  -webkit-box-flex: 1; /*iOS 6-, Safari 3.1-6 */
  -moz-box-flex: 1;  /* Firefox 19- */
  -webkit-flex: 1;          /* Chrome */
  -ms-flex: 1;              /* IE 10 */
  flex:1;
  position: absolute;
  background: black;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
}

.box-top {
  -webkit-box-flex: 1; /*iOS 6-, Safari 3.1-6 */
  -moz-box-flex: 1;  /* Firefox 19- */
  -webkit-flex: 1;          /* Chrome */
  -ms-flex: 1;              /* IE 10 */
  flex:1;
  position: relative;
  background: rgba(255,0,0,0.5); /* red */
  color: white;
}
<div class="flex">
<div class="box">
<p>Some text</p>
</div>
<div class="box-top">
<p>• Line 1</p>
<p>• Line 2</p>
<p>• Line 3</p>
</div>
</div>

答案 1 :(得分:0)

您需要做的只是在父级上设置position: relative,在子级上设置position: absolute。如果您希望孩子占据父母的大小,我会使用top: 0; left: 0; right: 0; bottom: 0;进行定位。

.box {
  position: relative;
  background: black;
  color: white;
  height: 50vh;
}
.box-top {
  background: white;
  color: black;
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
}
<div class="box">
  <p>Some text</p>
  <div class="box-top">
    <p>• Line 1</p>
    <p>• Line 2</p>
    <p>• Line 3</p>
  </div>
</div>