css - CSS flex:奇怪的行为
问题描述
请考虑以下示例:
https://jsfiddle.net/mr4fapx7/1/
<div class="z">
<div class="z1">1</div>
<div class="z1">2</div>
<div class="z1">3</div>
</div>
.z {
display: flex;
align-items: flex-start;
/* flex-direction: column; */
flex-wrap: wrap;
height: 1000px;
background: #900;
}
.z1 {
min-width: 51%;
background: #0f0;
}
我无法理解 flex 的这种行为......为什么z1
els 没有一个接一个地对齐,就好像你申请flex-direction: column
它一样?它背后的逻辑是什么,是否有一种让它“自动”切换的好方法,flex-direction: column
就像在这个例子中一样?
更新:似乎我没有正确解释自己。请尝试使用未注释属性的上述示例flex-direction
并查看所需的行为
解决方案
原因是因为 flex 父级的高度为 1000px,元素之间的空间是平均分布的。
如果您希望项目一个接一个地出现,则必须设置align-content : start
为您的 flex 父级,并且应该很好。
我假设您将 min-width 设置为 51% 只是为了测试而不是其他。
这是更新的小提琴:https ://jsfiddle.net/81nrf6ug/
推荐阅读
- python - 删除所有多条边和自环时,如何在networkx中保留多条边和自环的权重
- java - (Java) 将列表列表添加到 ArrayList
- >
- php - Slim 3 和 Eloquent 在单个模型文件中调用超过 1 个表
- sql - 医院数据库:查找出现在多个健康记录上的健康卡号实例
- java - Java中的多线程(并行代码比串行慢得多)
- c# - 使用 flurl 时 ASP.NET Web API 可能的反序列化问题
- list - SML:如何判断一个列表索引是否为空?
- javascript - 使用 parseFloat 将用户输入作为在 JavaScript 中添加在一起的字符串返回
- javascript - 本地存储持久文本区域不起作用
- javascript - 在 Javascript 中查找模式的最简单方法