javascript - 将随机生成的绝对 div 定位为网格的最佳方法?

标签 javascript html css

所以,我有一个应用程序可以生成随机数的 div,这些 div 总是绝对定位的。不,由于应用程序中的其他因素,我无法将它们关联起来。

有没有办法在 CSS 或 JQuery 中使这些绝对定位的 div 网格化?所以像这样:

     X X X
     X X X
     X X X
     etc...

到目前为止,它们是这样的:

     X
     X
     X
     etc...

我不知道每个查询中会有多少个 div;可能是 5 岁,可能是 80 岁,可能是 17 岁,等等。

最佳答案

如果你知道容器的宽度,你可以使用这个代码:

<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

<style type="text/css">
.x {
  position: absolute;
}
</style>

<div id="container">
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
  <div class="x">x</div>
</div>

<script>
$(document).ready(function() {
  var offset = 10;
  var offsetTop = 10;
  var _width = $("#container").width();
  console.log(_width);

  $('.x').each(function(e, item) {
    console.log($(item));
    $(item).offset({
      top: offsetTop,
      left: offset
    });
    offset += 20;

    if (offset >= _width) {
      offsetTop += 30;
      offset = 10;
    }
  })
})
</script>

关于javascript - 将随机生成的绝对 div 定位为网格的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35491788/

相关文章:

html - 为什么 top-margin 会压低一个以上的 div?

javascript - 将鼠标悬停在同一表格中的另一行上时更改表格行的背景颜色

javascript - 移动优化 : Make notification menu with position:absolute scrollable

javascript - 我可以使用三元运算符来处理 promise 中的错误吗?

JQuery slideToggle问题

html - iframe中body的高度与iframe相同

javascript - masonry imagesLoaded, $(...).imagesLoaded 不是函数

html - 如何像这样对齐文本和按钮,bootstrap

javascript - React useMemo 钩子(Hook)用例

javascript - requireJS:移植 C++ 类,不想两次声明类名