我绝对定位的元素将我的内容推到一边

时间:2015-08-19 10:55:31

标签: html css absolute

我真的不知道为什么会发生这种情况,我的父母是相对的,这里是代码的简化版本,如果你删除绝对定位的div,其他div就像他们应该的那样展开。



[type="row"] {
  width: 100%;
  padding: 5px !important;
  border: 1px dotted blue;
  display: table;
  position: relative;
}
[type*="row"][type*="drag"] {
  background-color: blue;
  margin-left: -10px;
  margin-top: -5px;
}
[type*="drag"] {
  position: absolute;
  height: 10px;
  width: 10px;
  top: 0;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  z-index: 100;
  cursor: move;
}
[type="col"] {
  border: 1px dotted green;
  display: table-cell;
  position: relative;
}
[type="cell"] {
  border: 1px dotted red;
  display: inline-block;
  position: relative;
}

<body>
  <div type="row">
    <div type="row drag"></div>
    <div style="width: 33.3%" type="col">
      <div type="cell">Test1</div>
    </div>

    <div style="width: 33.4%;" type="col">
      <div type="cell">Test2</div>
    </div>
  </div>
</body>
&#13;
&#13;
&#13;

编辑:如果你将绝对div的显示设置为无,它将拉伸其他2个单元格,这是我需要的行为。这是一个拖放jquery故事的派对

1 个答案:

答案 0 :(得分:-1)

您无法在表格中使用position: absolute;。这包括外部容器display: table;具有<div type="row">的容器。

除此之外,您的HTML 无效type元素上没有div属性。你为什么不使用class

此外,header必须是body的孩子。可能你的意思是head