gpt4 book ai didi

javascript - 使用 Flexbox 使用 overflow-x 使子 div 宽度为容器的 100%

转载 作者:行者123 更新时间:2023-12-03 07:10:49 24 4
gpt4 key购买 nike

我正在尝试使具有溢出-x 内容的 Flexbox 容器的子 div 具有溢出的 100% 的宽度,但我无法弄清楚,已经进行了多次搜索并且找不到解决方案;

有人能帮我吗?

fiddle :https://codepen.io/joaovtrc/pen/MWaaxKr

HTML:

<div class="test-container">

<div class="test-item-overflow">
overflowing contenttttttt
</div>


<div class="test-item-2"></div>

</div>

CSS:
.test-container {
width: 1000px;
height: 500px;
margin: auto;
background: black;
display: flex;
flex-direction: column;
overflow-x: auto;
}

.test-item-overflow {
width: fit-content;
height: 55px;
background: red;
border: 1px solid yellow;
}

.test-item-2 {
width: 100%;
height: 55px;
background: blue;
border: 1px solid green;
}

我希望“test-item-2”(具有蓝色背景的那个)div 的宽度与红色的相匹配,但是请记住,redbox 上的内容可能每次都不完全相同,所以没有 calc( 100% + x) 具有固定参数...

最佳答案

正如您设置的 width: fit-content;对于溢出 div,它使宽度随着该 div 中更多内容的增长而变得无法控制。一种解决方案可能是更改 width: 100%;并添加 overflow-x: scroll到类.test-item-overflow。 (请参阅以下代码段中的更改)

但是,如果您想保留 width: fit-content;对于红色 div 并更改蓝色 div 的宽度以及红色的宽度(取决于内容),您可以添加:document.getElementsByClassName("test-item-2").style.width = document.getElementsByClassName("test-item-overflow").offsetWidth + "px" . (在这种情况下,最好为 div 定义 id 并在 js 代码中使用 getElementById)

.test-container {
width: 1000px;
height: 500px;
margin: auto;
background: black;
display: flex;
flex-direction: column;
overflow-x: auto;
}

.test-item-overflow {
width: 100%;
overflow-x: scroll;
height: 55px;
background: red;
border: 1px solid yellow;
}

.test-item-2 {
width: 100%;
height: 55px;
background: blue;
border: 1px solid green;
}
<div class="test-container">

<div class="test-item-overflow">
aaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
</div>


<div class="test-item-2"></div>

</div>

关于javascript - 使用 Flexbox 使用 overflow-x 使子 div 宽度为容器的 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61217674/

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