gpt4 book ai didi

css - 如何使用 flexbox 将内容包含在网格中?

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

我想使用 flexbox 将所有内容包含在网格的第二个 div 中。在这种情况下图片溢出,我不知道为什么。我希望它按高度调整大小并保持纵横比。

body {
height: 100%;
margin: 0;
}

.wrapper {
display: grid;
grid-template: repeat(2, 50vh) / repeat(3, 1fr);
background-color: #A9A9A9;
}

.wrapper>div:nth-child(even) {
background-color: #D3D3D3;
}

.pic2 {
display: flex;
flex-direction: column;
}

button {
flex: 1;
min-height: 40px;
background: green;
}

img {
flex: 1;
max-height: 100%;
}
<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" href="main.css">
</head>

<body>
<div class="wrapper">
<div class="pic1">Div2</div>
<div class="pic2">
<button>Div2</button>
<img src="https://i.imgur.com/VHtXwib.jpg">
</div>
<div class="pic3">Div3</div>
<div class="pic4">Div4</div>
<div class="pic5">Div5</div>
<div class="pic6">Div6</div>
</div>
</body>

</html>

最佳答案

您不能为按钮设置最小高度,因为您必须使用 div。除非它在调整图片大小时会导致奇怪的溢出问题。以我尝试调整窗口大小,看看这是不是你想要的效果。

body {
height: 100%;
margin: 0;
}

.wrapper {
display: grid;
grid-template: repeat(2, 50vh) / repeat(3, 1fr);
background-color: #A9A9A9;
}

.wrapper div{
width:100%;
height:100%;
}

.wrapper > div:nth-child(even) {
background-color: #D3D3D3;
}

.pic2 {
display: flex;
flex-direction: column;
}

button {
flex: 1;
height:30%;
background: green;
}

img {
flex : 1;
max-height: 100%;
}

.custom-img{
display:block;
max-height:70%;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div class="wrapper">
<div class="pic1">Div2</div>
<div class="pic2">
<button>Div2</button>
<div class="custom-img">
<img src="https://i.imgur.com/VHtXwib.jpg">
</div>
</div>
<div class="pic3">Div3</div>
<div class="pic4">Div4</div>
<div class="pic5">Div5</div>
<div class="pic6">Div6</div>
</div>
</body>
</html>

关于css - 如何使用 flexbox 将内容包含在网格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51182996/

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