javascript - CSS Flexbox - 当容器有更多 child 时宽度中断

标签 javascript html css flexbox

我正在尝试在带有 span 标签的 div 上绘制一组大小相等的颜色框。我已经使用 display: flex 在父级上实现相同的效果。

<div style="width: 90%; height: 30px; border: blue solid 1px;">
    <div  style="display: flex; height:100%;">
        <!-- ng-repeat to generate random colors array of large size -->
        <span style="flex:1;" ng-repeat="healthValue in $ctrl.colors track by $index" ng-style="{'background-color': healthValue}">
        </span>
    </div>
</div>

这是一个运行示例的 stackblitz 链接: https://stackblitz.com/edit/flex-large-sizes-issue

enter image description here

但是,我注意到当子元素数量增加时,flex 似乎打破了子元素的宽度。我认为这是因为它在某个点之后对子宽度计算进行了四舍五入。有人可以帮助我克服这个问题。

最佳答案

您将每个 span 设置为 width: 100%。我假设这意味着 100% 的容器,因为子项的百分比大小基于父项大小。

那么你要找的是 flex-shrink: 0 on the spans。

Flex 元素默认设置为 flex-shrink: 1。这允许它们减小尺寸以避免溢出容器。

关于javascript - CSS Flexbox - 当容器有更多 child 时宽度中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52719308/

相关文章:

JavaScript:错误 - "Expected an assignment or function call and instead saw an expression"?

javascript - 输入验证消息

c# - FluentValidation 不支持我添加的 CSS 类

html - 使标题成为内容的大小

javascript - JavaScript 中对象长度的定义是什么?

javascript - $state.go() 不路由到其他状态,url 中的 #/null

javascript - SVG 动画在以编程方式设置样式时有效,但在仅使用样式表时无效

javascript - 显示当前图像时,从阵列内的剩余图像中随机选择

jquery - 如何摆脱 jquery 故障效果?

javascript - 单击另一个 DIV 后恢复翻转