主要观点:CSS Grid 和 Flexbox 虽带来强大布局工具,但仍有不足,如“masonry”布局仍需 Javascript 库。Mozilla 提出的 Masonry 布局在 Firefox 中实现,Apple 的 WebKit 团队也参与其中,引发热议。现出现第三种路径——Item Flow,将 Flexbox、Grid 和 Masonry 特性统一,本文介绍了 Item Flow 及其对 Flexbox 和 Grid 的影响,后续文章将进一步探讨其对 masonry 布局的影响。
关键信息:
- 提出新的属性
item-flow及item-direction、item-wrap、item-pack、item-slack等长属性。 item-direction决定内容流向,类似flex-direction和grid-auto-flow。item-wrap决定内容是否换行及方向,新增reverse关键字等。item-pack可切换不同打包方式,如密集打包、平衡打包等。item-slack控制布局引擎放置下一个元素的挑剔程度。
重要细节:- 在 Flexbox 中,
flex-flow是flex-direction和flex-wrap的简写;Grid 中,grid-auto-flow决定内容流向和密集打包。 - 对于 Masonry 布局,不同提案的触发方式不同,Item Flow 提议用
item-pack: collapse触发。 - 对于
item-pack的密集打包,有两种不同想法,一种是收缩元素以容纳更多,一种是重新排列元素填充空白。 - 对于
item-slack,在 Masonry 布局中是grid-slack或masonry-slack的新名称,在 Flexbox 中可设置紧凑和宽松的界限。 - 整体计划中,开发者可使用长属性或简写属性,且此想法仍在不断完善中,欢迎开发者提出意见和想法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。