gpt4 book ai didi

html - 对齐元素 : center makes img disappear

转载 作者:搜寻专家 更新时间:2023-10-31 08:24:02 25 4
gpt4 key购买 nike

因此对于网格,当我没有 align-items: center; 时,img 显示正常,但是一旦我添加 align-items: center; 它突然消失。是什么导致了这个问题?

.grid {
display: grid;
grid-template-columns: 1fr 1fr;
height: 100px;
}

img {
display: block;
max-height: 100%;
margin: 0 auto;
}

.align {
align-items: center;
}
<div class="grid">
<div>
<span>text</span>
</div>
<div>
<img src="http://via.placeholder.com/650x1050" />
</div>
</div>

<div class="grid align">
<div>
<span>text</span>
</div>
<div>
<img src="http://via.placeholder.com/650x1050" />
</div>
</div>

这似乎是 Chrome 的问题。它也无法在 Firefox 上正确安装 img。

最佳答案

这是因为百分比高度在浏览器中呈现的方式。

align-items: center 不存在时,align-items: stretch(默认值)生效。这会自动为 flex 元素(div)提供全高。

但是当 align-items: center 存在时,它会垂直居中 div。 div 的子元素 img 具有 max-height: 100%,实际上计算为 height: auto,因为没有高度引用在父级(div flex 元素)上。

通过在 flex 元素上设置高度解决了这个问题。

.grid > div {
height: 100%;
}

.grid {
display: grid;
grid-template-columns: 1fr 1fr;
height: 100px;
border: 1px solid red;
}

.grid>div {
height: 100%;
}

img {
display: block;
max-height: 100%;
margin: 0 auto;
}

.align {
align-items: center;
}
<div class="grid">
<div>
<span>text</span>
</div>
<div>
<img src="http://via.placeholder.com/650x1050" />
</div>
</div>
<br><br>
<div class="grid align">
<div>
<span>text</span>
</div>
<div>
<img src="http://via.placeholder.com/650x1050" />
</div>
</div>

更多细节在这里:

关于html - 对齐元素 : center makes img disappear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com