gpt4 book ai didi

javascript - 确定 flexbox 的所需宽度

转载 作者:行者123 更新时间:2023-11-28 02:26:38 25 4
gpt4 key购买 nike

<分区>

我的页面底部有一个按钮面板。该容器是一个 flexbox,所有按钮排成一行,没有换行。这些按钮是 <button><a>以图标和文本作为内容的元素。现在由于页面太窄无法包含所有按钮,我想将按钮缩小到可用空间。只有最右边的按钮会收缩。当其宽度低于某个阈值时,按钮将仅折叠为图标。然后右起的下一个按钮缩小了。

我可以用 JavaScript 实现所有这些,但我需要知道按钮的内容是否适合页面。无论我尝试什么,flexbox 都不会超出其父 div,但按钮仍然绘制到它的右端,因此 flexbox 永远不会比它的容器宽。

这种方法对表格很有效。表总是和它们的内容一样宽,即使它们的父表没有那么宽。但是 flexbox 永远不会那样做。

如何使用 JavaScript 或 jQuery 代码找出 flexbox 所需的宽度?这是容纳所有 flexbox 内容所需的宽度。

“所需宽度”这个名称来自 Windows 窗体或 WPF,但在 HTML 中似乎没有使用。因此,如果我需要更好的搜索词,请告诉我。

这是一个例子。 .container的宽度限制为 200px;在我的例子中,它仅限于页面宽度减去填充。

* {
box-sizing: border-box;
}

.container {
width: 200px;
background: azure;
padding: 10px;
}

.buttons {
background: bisque;
padding: 10px;
display: flex;
white-space: nowrap;
}

.buttons button,
.buttons a {
flex-shrink: 0;
}
<div class="container">
<div class="buttons">
<button>Button 1</button>
<button>Button 2</button>
<button>Button 3</button>
<button>Button 4</button>
</div>
</div>

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