项目流程,第 1 部分:布局的一个新的统一概念

主要观点:CSS Grid 和 Flexbox 虽带来强大布局工具,但仍有不足,如“masonry”布局仍需 Javascript 库。Mozilla 提出的 Masonry 布局在 Firefox 中实现,Apple 的 WebKit 团队也参与其中,引发热议。现出现第三种路径——Item Flow,将 Flexbox、Grid 和 Masonry 特性统一,本文介绍了 Item Flow 及其对 Flexbox 和 Grid 的影响,后续文章将进一步探讨其对 masonry 布局的影响。
关键信息

  • 提出新的属性 item-flowitem-directionitem-wrapitem-packitem-slack 等长属性。
  • item-direction 决定内容流向,类似 flex-directiongrid-auto-flow
  • item-wrap 决定内容是否换行及方向,新增 reverse 关键字等。
  • item-pack 可切换不同打包方式,如密集打包、平衡打包等。
  • item-slack 控制布局引擎放置下一个元素的挑剔程度。
    重要细节
  • 在 Flexbox 中,flex-flowflex-directionflex-wrap 的简写;Grid 中,grid-auto-flow 决定内容流向和密集打包。
  • 对于 Masonry 布局,不同提案的触发方式不同,Item Flow 提议用 item-pack: collapse 触发。
  • 对于 item-pack 的密集打包,有两种不同想法,一种是收缩元素以容纳更多,一种是重新排列元素填充空白。
  • 对于 item-slack,在 Masonry 布局中是 grid-slackmasonry-slack 的新名称,在 Flexbox 中可设置紧凑和宽松的界限。
  • 整体计划中,开发者可使用长属性或简写属性,且此想法仍在不断完善中,欢迎开发者提出意见和想法。
阅读 5
0 条评论