主要观点: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) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。