我试图使用flexbox模仿WinJS分组列表视图.我正在接近(我认为),除了在调整大小时列重叠.
http://jsfiddle.net/w8ts4Lnx/5/
我希望项目留在组内,让组水平增长.
body {
height: 100%;
display: flex;
flex-flow: column wrap;
}
h1 {
padding: 1em;
}
#content {
padding: 10px;
background-color: #eee;
display: flex;
flex-flow: row nowrap;
flex-grow: 1;
}
#content > .group {
margin: 10px;
padding: 10px;
border: 1px solid #cfcfcf;
background-color: #ddd;
display: flex;
flex-flow: column wrap;
max-height: 600px;
}
#content > .group .item {
margin: 10px;
padding: 10px;
background-color: #aaa;
width: 200px;
}
Run Code Online (Sandbox Code Playgroud)
我缺少什么想法?
小智 35
如果您不希望内容溢出容器,则必须指定 flex-shrink: 0;
柔性收缩 源
此"数字"组件设置伸缩缩放并指定弹性收缩因子,该因子确定当分配负自由空间时,弹性项目相对于弹性容器中其余弹性项目的收缩程度.省略时,将其设置为1.当分配负空间时,弹性收缩因子乘以弹性基础.
我不确定你试图模仿的winJS行为,因为我从未使用过winJS,但我认为这更接近你想要实现的正确行为:http://jsfiddle.net/w8ts4Lnx/11/
由于内容不适合,列重叠。这些项目不适合该组,因此它们会溢出。为了解决这个问题,你必须为 group-div 指定一个溢出策略,使用“溢出”,如下所示(最后一个):
#content > .group {
margin: 10px;
padding: 10px;
border: 1px solid #cfcfcf;
background-color: #ddd;
display: flex;
flex-flow: column wrap;
max-height: 600px;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
默认设置是visible让它们落在外面。在这里阅读更多信息:http ://www.w3schools.com/cssref/pr_pos_overflow.asp
除了 之外还有其他选择hidden。您可以设置垂直/水平滚动,或两者都设置。只需选择让您更接近所需的“WinJS 分组列表视图”的选项即可。尝试:
overflow-x: scroll;
overflow-y: auto;
Run Code Online (Sandbox Code Playgroud)
或者
overflow-y: auto;
overflow-x: scroll;
Run Code Online (Sandbox Code Playgroud)
快乐编码!
| 归档时间: |
|
| 查看次数: |
36389 次 |
| 最近记录: |