css - 相对DIV没有高度

时间:2016-10-16 08:24:36

标签: html css css-position

我不明白我的代码有什么问题。我的意思是,section元素有高度,我的DIV元素的显示值是绝对阻止的,我真的不知道它是如何工作的,以及如何将这两个元素组合起来。请给我你的解决方案和建议,以便今天学到新东西。



div {
  position: relative;
  margin: 0 30%;
}

div section {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100px;
  background-color: yellow;
}

hr {
  height: 2px;
  background-color: blue;
}

<div>
  <section></section>
</div>

<hr>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

您的元素的高度设置为AUTO。如果你想改变div高度,你需要在css中写这个。

div {
  position: relative;
  margin: 0 30%;
  height: 200px;
  background-color: red;
}

答案 1 :(得分:0)

我认为这是因为你的div没有高度,这就是为什么它不可见,并且根据其section的子元素而增加{{1}位置。我不确定你要做什么,但如果你想在div中显示div中的部分以及div的高度,你必须包含div的css。

我提供了一个假设解决方案,希望它可以帮助你

&#13;
&#13;
absoulute
&#13;
div {
  position: relative;
  margin: 0 30%;
  background-color: green;
  height: 150px;
}
section {
  position: absolute;
  top: 50px;
  right: 0;
  left: 0;
  height: 50px;
  background-color: yellow;
}
div hr {
  height: 10px;
  background-color: red;
}
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你希望你的小时在第一个div的底部,对吗?

但是,这不起作用,因为父div具有默认的height: auto属性 这意味着父母div将拥有他孩子的身高 当您为孩子设置position: absolute时,您正在破坏此系统 父母将不再照顾他的孩子。

所以,如果你想让它有效,你有两个 解决方案
  - 在父div (不好)上设置自定义高度(height: 100px)   - 删除子部分的绝对位置(默认值:position: relative

&#13;
&#13;
div {
  position: relative;
  margin: 0 30%;
}

div section {
  height: 100px;
  background-color: yellow;
}

hr {
  height: 2px;
  background-color: blue;
}
&#13;
<div>
  <section></section>
</div>

<hr>
&#13;
&#13;
&#13;