gpt4 book ai didi

css - Flexbox 和溢出 : hidden not working properly

转载 作者:技术小花猫 更新时间:2023-10-29 10:36:15 28 4
gpt4 key购买 nike

我有一点 HTML:

.flex {
display: -webkit-box;
display: flex;
height: 100px;
width: 100%;
}
.flex > div {
flex-grow: 1;
flex-shrink: 1;
flex-basis: auto;
-webkit-flex-grow: 1;
-webkit-flex-shrink: 1;
margin: 15px;
}
.example {
overflow: hidden;
width: 100%;
outline: 5px solid black;
}
.example .wide {
width: 400px;
}

.red { background-color: red; }
.orange { background-color: orange; }
.yellow { background-color: yellow; }
.green { background-color: green; }
.blue { background-color: blue; }
.indigo { background-color: indigo; }
<div class="flex">
<div class="red">
<div class="example">
<div class="wide">
</div>
</div>
</div>
<div class="orange"></div>
<div class="yellow"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="indigo"></div>
</div>

<div class="flex">
<div class="red"></div>
<div class="orange"></div>
<div class="yellow"></div>
<div class="green"></div>
<div class="blue"></div>
<div class="indigo"></div>
</div>

现在,这里的问题是,如果我有一个 div inside 元素是一个 flexbox 并且 div overflow: hidden; (即 .example,带有粗黑轮廓)我希望父 flexbox 只占用默认空间量(即与其他元素相同,但事实并非如此。

就好像它忽略了 overflow 而只是扩展了 div

我做了一个CodePen这样您就可以看到问题。

我希望所有彩色 div 的宽度都相同。

有人能帮忙吗?

最佳答案

您的问题是由于将 .flex > divflex-basis 设置为 auto 引起的。这会导致 div 扩展以容纳其内容,因为它没有沿 flex 轴设置的尺寸。给它一个设置值,例如 20px,空间将被平均分配,因为 flex-grow 设置为 1

This article应该可以帮助您开始使用 flex 布局。

这是一个modified version你的代码

.flex {
display: -webkit-box;
display: flex;

height: 100px;
width: 100%;
}

.flex > div {
flex-grow: 1;
flex-shrink: 1;
/* set value for the flex basis, the two properties above will evenly
divide the space. */
flex-basis: 20px;

-webkit-flex-grow: 1;
-webkit-flex-shrink: 1;

margin: 15px;
overflow: hidden;
}

.example {
overflow: hidden;
border: 1px solid black;
}

.example .wide {
width: 400px;
height: 10px;
}

关于css - Flexbox 和溢出 : hidden not working properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34154349/

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