gpt4 book ai didi

html - 图像在 flexbox 中自动拉伸(stretch)

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:48 25 4
gpt4 key购买 nike

我想知道为什么我放入这个带有 display flex 的 div 容器中的任何图像都会自动拉伸(stretch)?如果我要为它设置一个宽度,我不能用 justify-content 将它居中。

#container {
display: flex;
justify-content: center;
}

#container div {
padding: 25px;
background: blue;
color: white;
width: 500px;
display: flex;
flex-direction: column;
}

#container div h1 {
display: flex;
justify-content: center;
}

#container input,
#container button {
width: 75%;
}

#container img {
display: flex;
justify-content: center;
}
<div id="container">
<div>
<h1>a</h1>
<img src="https://placehold.it/350x150">
<input type="text" name="a">
<input type="text" name="b">
<button>a</button>
</div>
</div>

https://jsfiddle.net/nqt8bw4z/自动拉伸(stretch) https://jsfiddle.net/nqt8bw4z/2/固定宽度但不居中

最佳答案

flex 容器的初始设置是 align-items: stretch .这意味着 flex 元素将扩展容器的 cross axis 的全长。 .这将是容器在 flex-direction: row 中的高度和在 flex-direction: column 中的宽度。

由于您使用的是列向 flex 容器,因此默认情况下图像会水平拉伸(stretch)。您可以用另一个值覆盖此设置。试试 align-items: flex-startcenter

#container {
display: flex;
justify-content: center;
}

#container div {
display: flex;
flex-direction: column;
align-items: center; /* NEW */
width: 500px;
padding: 25px;
background: blue;
color: white;
}

#container div h1 {
display: flex;
justify-content: center;
}

#container input,
#container button {
width: 75%;
}

#container img {
display: flex;
justify-content: center;
}
<div id="container">
<div>
<h1>
a
</h1>
<img src="http://placehold.it/350x150" />
<input type="text" name="a" />
<input type="text" name="b" />
<button>
a
</button>
</div>
</div>

关于html - 图像在 flexbox 中自动拉伸(stretch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224172/

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