html - 如何在 Chrome 中调整纯 flexbox masonry 网格,它已经在 Firefox 中运行

标签 html css google-chrome flexbox

我有一个 flexbox masonry 网格,它在 firefox 中工作得很好,包括自动调整大小等。但在 Chrome 中它不起作用,检查图像。

这是我使用的SCSS代码

.jinya-vertical-art-gallery {
  flex-flow: row wrap;
  margin-left: -1rem;
  flex: 0 0 100%;
  margin-top: 2rem;
  display: flex;
  width: calc(100% + 1rem);
}

.jinya-vertical-art-gallery__page-title {
  font-family: $jinya-page-title-font-family;
  font-size: $jinya-page-title-font-size;
  width: 100%;
  display: block;
  margin-top: 2rem;
}

.jinya-vertical-art-gallery__artwork {
  height: 15rem;
  padding: 0.5rem;
  border: none;
  width: auto;
  box-sizing: content-box;
  display: flex;
  flex: 1 1 auto;
  flex-flow: row nowrap;
  justify-content: flex-start;
  margin: 0;
  max-width: 27rem;
}

.jinya-vertical-art-gallery-artwork__image {
  flex: 1 1 auto;
  height: 15rem;
  width: 100%;
  margin: 0;
  object-fit: cover;
  max-width: 27rem;
  cursor: pointer;
}

.jinya-vertical-art-gallery__caption {
  display: none;
}

.jinya-vertical-art-gallery-caption__title {
  margin: 0 0 1rem;
  display: block;
  font-size: $jinya-vertical-art-gallery-caption-font-size;
  font-weight: $jinya-vertical-art-gallery-caption-font-weight;
  font-family: $heading-font-family;
}

这是呈现的 HTML:

<div class="jinya-vertical-art-gallery">
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/200/320" alt="Aokigahara"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/270/350" alt="Zack"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/230/320" alt="Final touch"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/300/280" alt="autumn"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/410/620" alt="Treehouse"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/190/390" alt="Treehouse Process"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/240/250" alt="Gentle"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/210/380" alt="Lolita"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/100/320" alt="Step by Step 2"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/400/370" alt="Spring"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/290/310" alt="Sailor Goths"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/310/300" alt="Rest"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/120/360" alt="Guardian Demon"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/180/280" alt="Link"> </figure>
</div>

这是它在 firefox 中的样子:

这是它在 Chrome 中的样子:

请注意,由于版权原因,图片需要模糊处理,但网格应该可见。

最佳答案

看起来你用嵌套的 flex 布局过度了布局——每个艺术品图形不需要是一个 flex 容器。删除该约束将使每个艺术品人物都采用 child 的大小 - 在这种情况下它将是艺术品。可以在下面找到示例解决方案:

.jinya-vertical-art-gallery {
  flex-flow: row wrap;
  margin-left: -1rem;
  flex: 0 0 100%;
  margin-top: 2rem;
  display: flex;
  width: calc(100% + 1rem);
}

.jinya-vertical-art-gallery__page-title {
  font-family: $jinya-page-title-font-family;
  font-size: $jinya-page-title-font-size;
  width: 100%;
  display: block;
  margin-top: 2rem;
}

.jinya-vertical-art-gallery__artwork {
  padding: 0.5rem;
  border: none;
  width: auto;
  box-sizing: content-box;
  flex: 0 0 auto;
  margin: 0;
  max-width: 27rem;
}

.jinya-vertical-art-gallery-artwork__image {
  height: 15rem;
  margin: 0;
  max-width: 27rem;
  cursor: pointer;
}

.jinya-vertical-art-gallery__caption {
  display: none;
}

.jinya-vertical-art-gallery-caption__title {
  margin: 0 0 1rem;
  display: block;
  font-size: $jinya-vertical-art-gallery-caption-font-size;
  font-weight: $jinya-vertical-art-gallery-caption-font-weight;
  font-family: $heading-font-family;
}
<div class="jinya-vertical-art-gallery">
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/200/320" alt="Aokigahara"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/270/350" alt="Zack"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/230/320" alt="Final touch"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/300/280" alt="autumn"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/410/620" alt="Treehouse"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/190/390" alt="Treehouse Process"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/240/250" alt="Gentle"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/210/380" alt="Lolita"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/100/320" alt="Step by Step 2"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/400/370" alt="Spring"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/290/310" alt="Sailor Goths"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/310/300" alt="Rest"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/120/360" alt="Guardian Demon"> </figure>
<figure class="jinya-vertical-art-gallery__artwork"> <img class="jinya-vertical-art-gallery-artwork__image" src="https://picsum.photos/180/280" alt="Link"> </figure>
</div>

关于html - 如何在 Chrome 中调整纯 flexbox masonry 网格,它已经在 Firefox 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56091586/

相关文章:

javascript - 在 div.style angular 中遇到背景图像问题

javascript - JavaScript中如何通过setInterval方法实现TRANSITION效果?

php - PHP 中的 HTML <pre> 自动换行不起作用

html - 如何制作 Google Reader/Gmail 的 ListView

javascript - 多次克隆一个 div,然后选择除鼠标悬停的那个之外的所有 div(CSS、JS、HTML)

javascript - 使用 WebUSB 的 getDevices 查询所有可用设备,但没有提示消息?

Firefox 中基于 JavaScript 时间的分数

javascript - Python WebSocket 不工作

javascript - Mithril 模板转换器使用

jquery - 哪个 HTML5 Media JS 框架最好?