我正在尝试在网格单元格中的一行中将两个已调整大小的图像紧挨着排列,并希望使用flexbox来执行此操作。
.container {
display: grid;
grid-template-rows: 200px 1fr;
grid-template-columns: 10% 90%;
grid-auto-flow: column;
}
.header {
grid-column: 1 / 3;
grid-row: 1;
background: linear-gradient(to bottom right, #ffe6e6, #90a7d5);
text-align: left;
display: flex;
justify-content: start;
min-width: 0;
height: 100%;
text-align: left;
}
.header>a {
min-width: 0;
height: 100%;
}
.header>a>img {
min-width: 0;
height: 90%;
}
<html>
<body>
<div class="container">
<div class="header">
<a href="index.html">
<img src="https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg" />
</a>
<a href="index.html">
<img src="https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg" />
</a>
</div>
</div>
</body>
</html>
在edge和chrome中,我收到了所需的结果:
另一方面,Firefox:
检查告诉我元素的大小比其包含的图像大。 我假设我需要为Firefox设置额外的东西,但无法弄清楚它会是什么。
干杯,
答案 0 :(得分:0)
Firefox在嵌套的Flex容器中调整图像大小时出现问题。如果切换到嵌套网格容器,问题仍然存在。这在Chrome或Edge中似乎不是问题。如果删除嵌套的Flex容器,则图像将按预期在所有三个浏览器上对齐。
.container {
display: grid;
grid-template-rows: 200px 1fr;
grid-template-columns: 10% 90%;
grid-auto-flow: column;
}
.header {
grid-column: 1 / 3;
grid-row: 1;
background: linear-gradient(to bottom right, #ffe6e6, #90a7d5);
text-align: left;
/* display: flex; <---- problem in Firefox */
justify-content: start;
min-width: 0;
height: 100%;
/* text-align: left; **duplicate** */
}
.header>a {
min-width: 0;
height: 100%;
}
.header>a>img {
min-width: 0;
height: 90%;
}
&#13;
<div class="container">
<div class="header">
<a href="index.html">
<img src="https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg" />
</a>
<a href="index.html">
<img src="https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg" />
</a>
</div>
</div>
&#13;