css - 使 flex child 增长超过 100% 宽度
问题描述
我有以下 HTML:
<div class="wrapper">
<div class="container">
<div class="child">
1
</div>
<div class="child">
2
</div>
<div class="child">
3
</div>
<div class="child">
4
</div>
</div>
</div>
如何使 .container 将其宽度扩展为父宽度的 100% 以容纳他的所有孩子?最终目标是我想使用 Javascript 来检查孩子是否比父母宽,如果是,我将添加左右箭头来左右移动内容(这是一个 tabber)。
这是一个小提琴,你可以看到 javascript 看到两个元素的宽度相同,但是子元素应该大于父元素:
$(function() {
$("[data-w-width]").text($(".wrapper").width());
$("[data-c-width]").text($(".container").width());
})
* {
box-sizing: border-box;
}
html, body {
overflow: hidden;
}
.wrapper {
width: 100%;
}
.container {
width: auto;
display: flex;
}
.child {
width: 200px;
background: #dadada;
border: 1px solid black;
flex-shrink: 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper">
<div class="container">
<div class="child">
1
</div>
<div class="child">
2
</div>
<div class="child">
3
</div>
<div class="child">
4
</div>
</div>
</div>
<div>
wrapper width: <span data-w-width>0</span>
</div>
<div>
container width: <span data-c-width>0</span>
</div>
解决方案
更改display: flex;
为display: inline-flex;
$(function() {
$("[data-w-width]").text($(".wrapper").width());
$("[data-c-width]").text($(".container").width());
})
* {
box-sizing: border-box;
}
html, body {
overflow: hidden;
}
.wrapper {
width: 100%;
}
.container {
display: inline-flex;
}
.child {
width: 200px;
background: #dadada;
border: 1px solid black;
flex-shrink: 0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wrapper">
<div class="container">
<div class="child">
1
</div>
<div class="child">
2
</div>
<div class="child">
3
</div>
<div class="child">
4
</div>
</div>
</div>
<div>
wrapper width: <span data-w-width>0</span>
</div>
<div>
container width: <span data-c-width>0</span>
</div>
推荐阅读
- r - 如何引用通过R中的粘贴获得名称的对象
- servlets - 仅允许来自允许域的 AEM Servlet
- google-apps-script - Google Apps 脚本 - 用于确认脚本执行的 msgBox
- reactjs - 如何在不点击下一个js的情况下呈现页面
- bash - 脚本 shell - 将行数据格式化为 yaml 格式
- excel - Power Query - 加载文件夹时丢失文件时出错
- python - 循环从另一个数据框中的每一列创建数据框
- oracle - 为什么我从同一个查询中得到两个不同的结果
- vba - 与其他功能同时运行用户窗体
- mongodb - 如何使用聚合函数 mongodb 转换数据