gpt4 book ai didi

html - 调整视口(viewport)大小后,Firefox 和 Chrome 中的 div 宽度变化不同

转载 作者:太空狗 更新时间:2023-10-29 13:48:05 25 4
gpt4 key购买 nike

在使用基于 flexbox 容器的布局减少视口(viewport)后,我注意到一个小差异。以下代码段包含两个容器(.container.subcontainer)内的一些链接。在 Chrome(45 测试版)中,无论视口(viewport)尺寸如何,具有 element 类的 div 都具有相同的宽度。但是,在 Firefox (40) 中,每个 div 的宽度会根据其内容而变化。

   html,
body {
margin: 0;
padding: 0;
}
.container {
position: relative;
display: flex;
flex-direction: column;
width: 50%;
}
.element {
flex: 1 0 0;
padding: 0.5em;
text-align: center;
position: relative;
background-color: red;
margin-right: 1em;
}
.subcontainer {
flex: 0 1 auto;
display: flex;
}
.element a {
color: black;
}
<!DOCTYPE html>
<html>

<body>
<div class="container">
<div class="subcontainer">
<div class="element"><a>abc</a>
</div>
<div class="element"><a>abcdef</a>
</div>
<div class="element"><a>abcdef</a>
</div>
</div>
</div>
</body>

</html>

我认为“运行代码片段”功能不允许看到此更改,因此我提供了几个显示差异的 gif:

Chrome :

enter image description here

火狐:

enter image description here

如您所见,这些框在 Chrome 中共享相同的宽度,但 Firefox 非常明显地限制了第一个框,而其他框保持其比例。这种差异的原因是什么,我该如何解决?我希望每个盒子的宽度相同。这就是最初使用 flex: 1 0 0 的目的。

谢谢

最佳答案

尝试将 min-width 设置为您需要的任何值,或者只是 0px:

.element
{
...
min-width: 0px;
}

Fiddle

详情

Firefox 的 flex items 默认有 min-width:min-content,如 here 所指

These implementations where implementing a slightly simpler behavior for this keyword: it computed to min-content on flex items, and it computes to 0 on everything else.

因此,如果我们为 Chrome 设置 min-width:-webkit-min-content,它会产生相同的不良行为 - jsfiddle .

关于html - 调整视口(viewport)大小后,Firefox 和 Chrome 中的 div 宽度变化不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002991/

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