javascript - 使用 jquery 创建我自己的图片库网格

标签 javascript jquery html css

我遇到了一个问题,它正在创建一个图像网格,当我到达容器的末端时,我无法弄清楚如何在下一行开始布置元素。我知道我可以使用砖石结构,但问题是我的画廊需要全宽并且使用砖石结构,你会遇到 1px 空白问题 masonry 1px issue .而且只使用普通花车也不适合我,因为我的元素有不同的高度。任何关于我如何解决这个问题的想法都会很棒

function layout() {
  var itemPos = 0;
  var itemHeight = [];

  $('.gallery__item-list .gallery__item').each(function(index) {
    itemHeight.push($(this).height());
    $(this).css({
      transform: "translate3d(" + itemPos + "px,0px,0)"
    });
    itemPos += $(this).width();
  });
}

CSS

.gallery__item,.grid-sizer {
 width: 100%;
 position: absolute;
 top: 0;
 left: 0;
}
@media screen and (min-width: 400px) {
 .gallery__item,.grid-sizer {
  width: 50%;} }
@media screen and (min-width: 600px) {
 .gallery__item,.grid-sizer {
  width: 33.333%;}
 .gallery__item--body-posts{
  margin-bottom: 0px;
 } }
@media screen and (min-width: 1000px) {
 .gallery__item,.grid-sizer {
  width: 25%;
 } }

最佳答案

如果您的情况允许,您可以按百分比设置图像宽度。假设你有三个连续的图像,你可以设置 width:33% 这将占据一行的整个宽度。所以根据计数你应该改变图像的宽度。当您获得前三张图像时,接下来的三张将出现在第二行。

我希望这能解决你的问题

关于javascript - 使用 jquery 创建我自己的图片库网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46762385/

相关文章:

javascript - 在函数中传递一个空对象作为引用

javascript - 通过在页面末尾添加按钮自动将我的网页内容转换为pdf

javascript - soundcloud 嵌入中的时间和事件

jquery - 如何自动滚动 ul li 元素?

javascript - 在半个div上插入元素

javascript - 视频结束后显示播放按钮

jQuery carousel new style next 和 prev 在第一张和最后一张幻灯片上

jquery - Bootstrap 网格/列响应问题

javascript - 显示 DIV 中的内容

html - 显示 : inline; and overlapping?