gpt4 book ai didi

html - 我怎样才能收缩图像以适应 parent 设定高度内的所有 flex child

转载 作者:行者123 更新时间:2023-12-05 01:52:53 25 4
gpt4 key购买 nike

是否可以缩小中间图像(使用 flex-box),这样当 headerfooter 中的内容增长时,它会缩小,这样总的内容高度flex children (header, footer, img-wrap) 不会溢出父容器?

当前布局 View CodePen

Current view of layout in CodePen

感谢任何帮助。谢谢。

* {
box-sizing: border-box;
}

p,
h4 {
margin: 0;
}

.wrapper {
display: flex;
flex-direction: column;
width: 200px;
height: 200px;
border: 1px solid red;
border-radius: 5px;
}

.wrapper .header,
.wrapper .footer {
flex-grow: 1;
flex-shrink: 0;
}

.header {
background: lightskyblue;
}

.img-wrap {
border: 1px solid black;
flex-grow: 0;
flex-shrink: 3;
min-height: auto;
}

.img-wrap img {
max-width: 100%;
width: 100%;
width: auto;
height: 100%;
height: auto;
vertical-align: bottom;
}

.footer {
border: 1px solid green;
}

.footer .btn {
display: block;
width: 95%;
margin: 0 auto;
padding: 10px;
}
<div class="wrapper">
<div class="header">
<h4>Box title</h4>
<p>Some blurb text Some blurb text Some blurb text Some blurb text </p>
</div>
<div class="img-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcShS9EkKjqdM_u5LKC2rI_Utrc0lVvWy5-krg&usqp=CAU" alt="">
</div>
<div class="footer">
<button class="btn">My button</button>
</div>
</div>

最佳答案

我不经常求助于绝对定位,但它适用于图像容器,它现在位于 flex 子元素内部。请注意,非静态定位也必须在父元素上设置。

此外,我没有使用 flex-grow-shrink 值,而是使用 flex: autoflex:无 在各种 flex child 上。并非在所有情况下都必须使用它,但当我在 CSS 中看到它时,它使布局的行为对我来说更加直观。

* {
box-sizing: border-box;
}

p,
h4 {
margin: 0;
}

.wrapper {
display: flex;
flex-direction: column;
width: 200px;
height: 200px;
border: 1px solid red;
border-radius: 5px;
}

.wrapper .header,
.wrapper .footer {
flex: none;
}

.header {
background: lightskyblue;
}

.content {
border: 1px solid black;
flex: auto;
position: relative;
}

.img-wrap {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
}

.img-wrap img {
max-width: 100%;
max-height: 100%;
vertical-align: bottom;
}

.footer {
flex: none;
border: 1px solid green;
}

.footer .btn {
display: block;
width: 95%;
margin: 0 auto;
padding: 10px;
}
<div class="wrapper">
<div class="header">
<h4>Box title</h4>
<p>Some blurb text Some blurb text Some blurb text Some blurb text </p>
</div>

<div class="content">
<div class="img-wrap">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcShS9EkKjqdM_u5LKC2rI_Utrc0lVvWy5-krg&usqp=CAU" alt="">
</div>
</div>

<div class="footer">
<button class="btn">My button</button>
</div>
</div>

关于html - 我怎样才能收缩图像以适应 parent 设定高度内的所有 flex child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71411101/

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