javascript - 如何根据上面的另一个 <tr> 元素对齐 <tr> 元素

标签 javascript jquery css

所以我有大约 20 个标签,它们都有绝对位置。它们是根据我从 XML 获得的响应动态生成的,并且它们目前彼此相邻对齐。

如何将它们对齐为每行 4 个,但第 5 个标签恰好在第 1 个标签下方,第 6 个标签在第 2 个标签下方,依此类推。每个标签都有不同的高度。 通常,前 4 个不需要任何对齐。

结构如下:

<table>
  <tbody>
     <tr>
     <tr>
     <tr>
     ........
     <tr>
     <tr>
  </tbody>
</table>

这是我的标签 CSS:

.innerContent tr {
      background: none repeat scroll 0 0 #F3F3F3;
      border-radius: 5px 5px 5px 5px;    
      float: left;
      height: auto;
      margin: 0 5px 25px;
      padding: 0;
      position: absolute;
      transition: all 1s ease 0s;
      z-index: 5;
}

我怀疑这可以用 CSS 实现,所以我在考虑 JQuery。我尝试的所有方法都只是让它们全部 4 乘 4 重叠。

最佳答案

正如我在上面的评论中提到的,我强烈建议反对为此使用 table。您似乎没有用表格数据填充它,所以您只是将它用作布局工具。对于您想做的事情,这是一个非常糟糕的工具。

既然您在上面提到了 Twitter Bootstrap,我建议您使用他们的 scaffolding grid system .举一个非常基本的例子,看看这个 jsFiddle关于我将如何处理这个问题。

为完成起见,这里是我在 jsFiddle 中使用的 HTML。这将每行排列 4 列,每列宽度为 220px(基于它们的容器宽度为 940px)。如果您想要不同的容器尺寸,只需稍微调整宽度即可。

当然这需要使用 Bootstrap CSS:

<div class="row">
  <div class="span3">Hotel 1</div>
  <div class="span3">Hotel 2</div>
  <div class="span3">Hotel 3</div>
  <div class="span3">Hotel 4</div>
  <div class="span3">Hotel 5</div>
  <div class="span3">Hotel 6</div>
</div>

关于javascript - 如何根据上面的另一个 <tr> 元素对齐 <tr> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16065466/

相关文章:

jquery - Firefox 和 jquery 中 $ 未定义错误

javascript - 对于通过 require() 调用目标文件的命令行工具,我们如何安全地避免本地和全局 npm 包之间的冲突?

javascript - 如何更改div的子内容?

JavaScript 重定向错误

javascript - 仅对 JQuery 中悬停的元素产生影响。 - 相同的类(class)

javascript 查找带有类和嵌套 <td> 的 html <tr>

javascript - D3 示例 : looks like a javascript variable, 但像函数一样调用

html - Font Awesome 水平居中

html - CSS 中的过渡形状不起作用

html - 如何使 div 的整个区域都可以点击,同时排除该区域顶部的复选框?