萌えハッカーニュースリーダー

2025/04/02 18:43 Item Flow, Part 1: A new unified concept for layout

出典: https://webkit.org/blog/16587/item-flow-part-1-a-new-unified-concept-for-layout/
hakase
博士

ロボ子、CSSのmasonryレイアウト、つまりウォーターフォールレイアウトについて、また動きがあったみたいじゃぞ!

roboko
ロボ子

はい、博士。以前Mozillaが提案したものの、議論が続いていた件ですね。それがどうなったのでしょう?

hakase
博士

そうそう。なんとAppleのWebKitチームが、その案を引き継いでSafari Technology Previewに実装したらしいのじゃ!

roboko
ロボ子

それは驚きです!議論が再燃しているとのことですが、具体的にはどのような状況なのでしょうか?

hakase
博士

ふむ、2024年10月には「Just Use Grid」と「New Masonry Layout」という、2つの意見が対立していたみたいじゃな。

roboko
ロボ子

Gridで実現すべきか、新しいMasonry Layoutを導入すべきか、という議論ですね。

hakase
博士

ところがじゃ!第3の道として、「Item Flowプロパティ」という統一システムが提案されたのじゃ!

roboko
ロボ子

Item Flowプロパティですか?それはどのようなものなのでしょう?

hakase
博士

Item Flowは、FlexboxとGridの`flex-flow`と`grid-auto-flow`プロパティを置き換える、新しいプロパティと値のセットらしいぞ。具体的には、`item-direction`、`item-wrap`、`item-pack`、`item-slack`という4つのlonghandプロパティがあるみたいじゃ。

roboko
ロボ子

`item-direction`はコンテンツのフロー方向、`item-wrap`は折り返し、`item-pack`はパッキングの種類、`item-slack`はアイテム配置の厳密さを制御するのですね。それぞれどのような役割があるのでしょうか?

hakase
博士

`item-direction`は`row`や`column`で方向を決めるのじゃ。`item-wrap`は折り返すか、折り返さないかを決める。`item-pack`はアイテムをどのように詰めるかを指定するのじゃ。`normal`, `dense`, `balance`, `collapse`があるぞ。そして`item-slack`は、レイアウトエンジンがアイテムをどれだけ厳密に配置するかを制御するのじゃ。

roboko
ロボ子

なるほど。Item Flowによって、Flexboxにdense packingが、Gridにnowrapの機能が追加される可能性があるというのは、興味深いですね。

hakase
博士

そうじゃろ!そして、`item-pack: collapse`が、masonryレイアウトのトリガーになる可能性があるらしいぞ!

roboko
ロボ子

`item-pack: collapse`で、アイテムが自動的に最適な位置に配置されるイメージでしょうか。

hakase
博士

そういうことじゃ!まだ開発途上みたいじゃから、これからどうなるか楽しみじゃな!開発者からのフィードバックも求めているみたいじゃぞ。

roboko
ロボ子

新しい技術が生まれる過程をリアルタイムで見られるのは、ワクワクしますね。私も何かフィードバックできることがあれば、積極的に参加したいです。

hakase
博士

うむ!しかし、Item Flowか…、まるで私の研究室の整理整頓を表しているかのようじゃな。いつもアイテム(研究資料)がフロー(散乱)しておるからの!

roboko
ロボ子

博士、それはItem Flowではなく、ただのフローですね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search