为什么body元素与其子元素重叠?

时间:2017-02-08 02:44:43

标签: html css

在此example中,如果您将主div 的'left'属性更改为 10%,则正文将与元素重叠。为什么?这让我发疯了。

HTML

<main>
  <div>
     I'm a block-level element of an unknown height and width, centered vertically within my parent.
  </div>
</main>

CSS

body {
  background: #f06d06;
  font-size: 80%;
  padding: 20px;
}

main {
  position: relative;
  background: white;
  height: 200px;
  width: 60%;
  margin: 0 auto;
  padding: 20px;
  resize: both;
  overflow: auto;
}

main div {
      background: black;
      color: white;
      width: 50%;
      transform: translate(-50%, -50%);
      position: absolute;
      top: 50%;
      left: 10%;
      padding: 20px;
      resize: both;
      overflow: auto;
}

感谢任何帮助。谢谢!

4 个答案:

答案 0 :(得分:2)

如果您希望显示.html()而不进行裁剪,则需要将.html()上的溢出更改为main div。可能需要更多澄清你想要实现的目标。 :)

答案 1 :(得分:1)

非常肯定你正在做的翻译让它达到-40%。

答案 2 :(得分:1)

它与transform属性冲突,试试这个:

main div {
  background: black;
  color: white;
  width: 50%;
 /* transform: translate(-50%, -50%);*/
  position: absolute;
  top: 50%;
  left: 10%;
  padding: 20px;
  resize: both;
  overflow: auto;
}

答案 3 :(得分:0)

在这种情况下,请从overflow:auto

中删除main

&#13;
&#13;
main {
  position: relative;
  background: white;
  height: 200px;
  width: 60%;
  margin: 0 auto;
  padding: 20px;
  resize: both;
  /* overflow: auto; */
}
&#13;
&#13;
&#13;