css - 合适的 CSS 显示以在每行中显示任意行数的 3 个项目?
问题描述
我有一个我希望显示的项目列表。起初我使用display: flex
但注意到当发生换行时,项目没有水平对齐。然后我切换到display: grid
但这需要我提前知道行数。
什么样的显示适合创建任意多个项目的网格,每行有n 个项目?
<div class="element">
<app-check *ngFor="let item of items" [caption]="item.name">
</app-check>
</div>
div.elements {
display: ???; ...
}
app-check {
flex: 1 1 auto; ... ???
}
如果我能以某种方式将项目 3×3 推出,则上述 CSS 将起作用。我可以在组件代码中使用一些逻辑来做到这一点,但这似乎是一个丑陋的黑客。我更喜欢以适当的方式解决它。
解决方案
对于 3 个项目,您可以以类似的方式执行此操作,只需将 flex-basis: 33% 用于子元素:
div.element {
display: flex;
flex-wrap: wrap;
}
app-check {
flex: 1 0 33%;
}
<div class="element">
<app-check *ngFor="let item of items" [caption]="item.name">
</app-check>
</div>
这是学习 flexbox 的好地方: https ://css-tricks.com/snippets/css/a-guide-to-flexbox/
推荐阅读
- c - 在 C 中无效的用户输入应该返回哪个 errno?
- sql - 在 rails 中保存来自“SELECT name AS example”的信息
- html - 侧边栏上的链接仅显示在文本边缘
- python - 加载资源失败:net::ERR_PROXY_CONNECTION_FAILED',Selenium+python+browsermobproxy 出错
- python - 打印语句的未知行为
- c++ - 阵列旋转
- linux - Bash 脚本无法从变量中正确读取路径
- python - 如何使用具有 blit=True 的 FuncAnimation 为 Poly3DCollection 设置动画?
- python - 为什么 Map 工作但 Apply 引发 ValueError
- c++ - 偶数和奇数矢量位置