フレックスレイアウトとは何か(3)フレックスアイテムの設定
だいぶ時間がたってしまいました。間に別の記事がたくさん入ってしまったので前の記事がどこだかわからなくなってしまっていますね。
そして(2)のコメントで、フレックスレイアウトは「過去バージョンとの互換性はない」という問題が見つかりました。再掲しますね。
2026(21.0)でのドキュメントの状態(フレックスレイアウトと長方形)

IDMLに書き出したものを2025(20.5)で開いた状態

フレックスレイアウトが完全に消えています。
さて、続きを書いていきます。1月31日に「InDesign 25周年記念オンラインイベント」がありますので、それまでに残りを書いて完結したいと思います。現地参加に招待されましたので、5~6年ぶりに東京に行ってきます。
ここからは細かい挙動の解説をします。今回は子要素であるフレックスアイテムです。挙動が単純なので先に説明させてください。
フレックスアイテムの設定箇所は4か所です。まずWとH、つまりフレックスアイテムの大きさです。これはコントロールパネルや変形パネルで表示されるものと同じです。(ですからなくてもいいんですが、あった方が便利です。)ここに数値を入力すると、右のプルダウンは「固定」に変更されます(数値を指定しているので当然の挙動ですね)。
幅のプルダウンを「間隔を埋める」に変更すると、余白を埋める大きさに変更されます。その分、他のフレックスアイテムはフレックスコンテナの端にくっつくように移動します。
ただしこの挙動には条件があって、フレックスコンテナの大きさが固定でなければなりません(自動だと理論上どこまでも伸びてしまう)。もしフレックスコンテナの大きさが自動だった場合は次のメッセージが表示されて固定に変更されます。
幅を戻して、今度は高さのプルダウンを「間隔を埋める」にすると、高さがフレックスコンテナの内側いっぱいに広がります。
このWとHは見た目です。フレックスアイテムの並ぶ方向とは関係ありません。天地方向に並んでいてもWは横幅です。
この挙動にも条件があって、フレックスアイテムが1列であること(つまり折り返しがない)が条件です。折り返しを指定していた場合は次のメッセージが表示されて折り返しが無効化されます。
以上のように、指定はできるが「指定することで他の設定が変更されることがある」というのがフレックスレイアウトの難しいところです。よくよく考えると全体の整合性を保つためには当然の挙動なんですが、それに慣れるまで時間がかかる(慣れても難しいかも)というのがネックです。
なお、次の動画のように、すべてのフレックスアイテムで「間隔を埋める」にすると高さ(横並びの場合)を同じにできて、かつフレックスコンテナの高さに追随することができます。
フレックスコンテナを入れ子にすることで複数行(列)に対応できます。この例では2つ複製してフレックスコンテナを3つにしています。
この3つのフレックスコンテナを選択して、「フレックスレイアウトを作成」にチェックを入れます(①)。環境設定の「フレックスレイアウト設定を自動検出して適用」をオフにしている場合は横に並びますので、並びを上から下(②)に変更します。
こうなります。
そして、中に入ったフレックスコンテナの高さを「間隔を埋める」に変更します(3つとも)。フレックスコンテナの余白が0の場合は非常に選択しにくいので、レイヤーパネルから選択するか、中のフレックスアイテム(この例では長方形とテキストフレームと円形の画像フレーム)のどれかを選択してESCキーを押してください。
そうすることで外側のフレックスコンテナの高さに合わせてフレックスアイテムの高さが追随します。
何かうまいこと使えば面白いものができそうな気がするんですが、残念ながらこれを使ったよい例が思いつきません。もしいい例があったら教えてください。









