【问题标题】:How can I position these divs inside a td?如何将这些 div 定位在 td 中?
【发布时间】:2015-09-10 23:22:18
【问题描述】:

我在元素定位方面遇到问题。我想要的是这样的:

在 td 的顶部有一个 div,里面有一些 div,在 td 的底部有一个 div。使用我的代码,它适用于 Chrome、IE11 和 Opera,但不适用于 Firefox 和 IE9。在这些浏览器中,它的显示效果不佳:

如您所见,第 7 天的事件与第 14 天重叠。例如,它应该显示为 13th。一开始以为是火狐的float bug,现在觉得不是。

.td {
  position: relative;
  vertical-align: top;
  font-size: 13px;
  border: 1px solid #F2F2F2;
}

.top-div {
  height: 85%;
}

.divs-inside-top-div {
  display: block;
  padding-top: 2px;
  padding-bottom: 2px;
}

.bottom-div {
  width: 100%;
  background-color: #FE9A2E;
}
<td>
    <div class="top-div">
        <div class="divs-inside-top-div"></div>
        <div class="divs-inside-top-div"></div>
        <div class="divs-inside-top-div"></div>
    </div>
    <div class="bottom-div"></div>
</td>

我试图明确:在所有元素中都可以,但没有效果。

谁能告诉我如何在 Firefox 中正确显示?

编辑:

这就是我在 chrome 中看到它的方式,例如:

【问题讨论】:

  • 如果你把overflow: hidden 放在td 中是你想要的布局吗?如果您不使用float,为什么会认为您有float 错误?
  • 为什么需要将div 放入td
  • @Klors,我想展示所有内容。正如我所说,在 chrome、opera 或 ie11 中看起来不错。我将在该浏览器中添加一张图片。
  • @Curt 因为我必须向 td 动态添加元素,我认为这是最好的方法......还有其他更好的方法吗?

标签: javascript jquery css firefox


【解决方案1】:

我想知道这是否会给您带来您想要实现的目标?

min-heights 是因为它们需要一些内容才能显示。如果你需要底部和顶部 div 之间的空间,那么你必须给 td 一个高度和绝对位置底部 div。

td {
  position: relative;
  vertical-align: top;
  font-size: 13px;
  border: 1px solid #F2F2F2;
  width: 100px;
}

.top-div {
}

.divs-inside-top-div {
  padding-top: 2px;
  padding-bottom: 2px;
  min-height: 20px;
}
.divs-inside-top-div:nth-child(1) {
  background-color: #CCCCCC;
}
.divs-inside-top-div:nth-child(2) {
  background-color: #AAAAAA;
}
.divs-inside-top-div:nth-child(3) {
  background-color: #999999;
}

.bottom-div {
  background-color: #FE9A2E;
  min-height: 20px;
}
<table>
  <tr>
    <td>
      <div class="top-div">
        <div class="divs-inside-top-div"></div>
        <div class="divs-inside-top-div"></div>
        <div class="divs-inside-top-div"></div>
      </div>
      <div class="bottom-div"></div>
    </td>
  </tr>
</table>

【讨论】:

  • 没有必要在顶部和底部 div 之间留有空间,只有当没有足够的内容来填充所有 td 时。当有各种事件时,问题就出现了,它们的高度总体上高于 td 的高度。
  • @etriix 如果您不想隐藏溢出,在这种情况下您会怎么做?你会增加行高吗?
  • resize td height,我只是想像我上传的las图像一样显示它们
  • @etriix 你能不能每个“行”只有 2 行,一个用于更改的上部项目集,一个用于底部?这样上排可以与顶部对齐并根据需要扩展,而下排可以是固定大小并且始终位于底部?
  • 是的......它可以这样工作。稍后我将进行更改并进行测试。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多