html - SVG 被推出 flexbox 容器的视口
问题描述
我正在尝试使用 flexbox 为混合元素创建水平div
布局svg
。当绿色框的宽度足够增加时,红色和黄色 (svg) 框会被推到不可见的地方。但是,如果我将它们包装在 div 中,则不会发生这种情况。为什么是这样?
.container {
display: flex;
overflow-x: auto;
white-space: nowrap;
}
<div class="container">
<svg width="100px">
<rect width="100" height="100" fill="red" />
</svg>
<div>
<svg width="1200px">
<rect width="100" height="100" fill="green" />
</svg>
</div>
<svg width="100px">
<rect width="100" height="100" fill="yellow" />
</svg>
</div>
解决方案
可能是,min-width
计算有问题。似乎,CSS Flexbox 规范是说将min-width: auto
flex 项解析为“最小内容”。并且周围有一个最小宽度,而简单的“”没有。
我会添加flex-shrink: 0;
或其他内容以使其更“简单”。
推荐阅读
- reactjs - Redux - 重复对象名称
- java - 将 ResultSet 返回到另一个函数
- python - 试图点击找到的元素,但据说此时不可点击
- c# - 检测代码克隆在 Visual Studio 2019 中不可用
- javascript - CSS子组件的边框在父组件的边框之上
- swift - 使用 AVAudioPlayer 从包含 utf8 编码字符串的 URL 流式传输音频
- python - 有没有办法一次查找超过 100 个推特状态或查找非常大的数据集的状态?
- amazon-web-services - Electron-Updater 和 AWS S3 存储桶策略 - 错误:HttpError: 403 Forbidden
- html - if 语句以防函数失败
- angular - 如何在Angular 8中将动态数据从父级传递给子级ng-content