ボックスの親子関係とグループ化|なぜ入れ子で考えるのか
CHAPTER 2
ボックスの親子関係とグループ化|なぜ入れ子で考えるのか
LESSON 2-1 ボックスレイアウトの基本 ⏱ 所要時間:約8分
レッスン解説動画
GOAL
このレッスンのゴール
  • ✓
    レイヤーパネルを見て、どのボックスがどのボックスの中にあるかを読み取れる
  • ✓
    グループ化(Ctrl/⌘+G)と解除を使い分けられる
  • ✓
    Enter/Shift+Enter/Ctrl+Clickで親子の選択を切り替え、目的の要素を選択できる

STUDIOのデザインは、白紙の画面に文字や画像を自由に置いていくものではありません。四角い箱、つまりボックスを親子関係で組み合わせて画面を作ります。このレッスンでは、Chapter 2で最初に押さえておきたい入れ子の考え方と、レイヤーパネルの読み方、そしてボックスを選択するための操作を確認します。ここで扱う内容は、このあとの余白・サイズ指定・配置のすべてに関わる土台になります。

作業をしながら適宜プレビューを見て、見た目を確認しながら進めましょう。エディタ上の見た目と、実際のページの見え方には差が出ることがあります。あわせて、定期的にCtrl+3でレイヤーパネルを開き、ページの構造を確認して理解することを心がけましょう。また、一つ一つの要素にあえて色を付けてみると、構造がどうなっているか分かりやすくなります。

なぜ入れ子で考えるのか

STUDIOのすべてのページには、一番外側にBaseと呼ばれる土台のボックスがあります。画面に置いたテキストや画像、セクションは、すべてこのBaseの中に直接、または別のボックスを経由して間接的に入っています。あるボックスが別のボックスの中に入っている、という関係を入れ子(親子関係)と呼びます。

操作動画
親ボックス
子ボックスA
親の内側に収まる
子ボックスB
親の内側に収まる
親の背景色・余白の内側に、子ボックスが並んで入っている
親ボックスの中に子ボックスが入る。子の位置や余白は、常に親を基準に決まる。

入れ子を意識する理由は、ボックスの余白や配置の設定が、すべて直近の親を基準にして決まるからです。たとえば子ボックスに設定した余白は親ボックスの内側の空間を基準に広がり、子ボックスの横幅を100%にすれば、それは画面全体ではなく親ボックスの横幅いっぱいという意味になります。どの親の中に入っているかを見誤ると、思った通りの位置に置けなかったり、レスポンシブで崩れたときに原因を探せなかったりします。

逆にいえば、親子関係さえ正しく組めていれば、あとの余白調整やサイズ指定はその親子関係の上に乗せていくだけで済みます。STUDIOの公式ヘルプで最も記事数が多いカテゴリが「ボックスのデザイン設定」であることからも分かるとおり、ボックス操作はSTUDIO学習の中心です。このレッスンで親子関係の読み方を先に固めておくことが、Chapter 2全体の理解を早くします。

✓ Point !
すべてのボックスはBaseの子孫

画面に置いたボックスは、必ずBase(またはBaseの中の別のボックス)の子として存在します。あるボックスの設定が効かないときは、まず「このボックスの直近の親は何か」をレイヤーパネルで確認する習慣をつけましょう。

レイヤーパネルで構造を読む

入れ子の関係を画面上の見た目だけで判断するのは、要素が重なったり小さかったりすると難しくなります。そこで使うのが左パネルのレイヤーパネルです。レイヤーパネルには、ページ内のすべてのボックスが親子関係のまま、階層のインデント(字下げ)付きで一覧表示されます。

操作動画

レイヤーパネルで特に重要なのは、パネル上の選択とキャンバス(スクリーン)上の選択が常に連動しているという点です。レイヤーパネルである行をクリックすると、キャンバス側でそのボックスに選択枠が表示されます。逆にキャンバス上で要素をクリックすると、レイヤーパネル側のその行がハイライトされます。

この連動は、あとの章で重なった要素をクリックできない、意図しない要素が動いてしまうといったトラブルを直すときにも使います。ボックスを触っているかどうかが画面上でははっきりしない場面では、レイヤーパネルを開いて名前と階層から狙った要素を探すのが最も確実な方法です。ボックスの並び順を入れ替えたいときも、レイヤーパネル上でドラッグして順序を変えられます。

Q
確認クイズ
キャンバス上で見た目が重なっていて、狙った要素をクリックで選択できません。まず何を確認するとよいでしょうか。
✓
正解です!
レイヤーパネルの選択はキャンバスの選択枠と連動しているため、見た目で判断できないときはレイヤーパネルの階層から探すのが確実です。
✕
惜しい!
正解はBです。レイヤーパネルとキャンバスの選択は連動しているため、階層から目的のボックスを探すのが最も確実な方法です。

グループ化と親子の選択切り替え

複数のボックスをまとめて動かしたい、まとめてスタイルを揃えたいというときは、グループ化を使います。グループ化は、選択した複数のボックスの外側に新しい親ボックスを1つ作る操作です。グループはあくまで一時的なまとめのための入れ子で、意味のある構造を新しく作るわけではないため、必要なくなればいつでも解除できます。

操作動画

ボックスの選択そのものも、マウスのクリックだけに頼らずキーボードのショートカットで素早く切り替えられます。特にEnterとShift+Enterによる親子の行き来、Ctrl+Clickによる深い階層への直接ジャンプは、入れ子が数段になったセクションを編集するときに手放せない操作です。

操作動画
操作ショートカットできること
グループ化Ctrl/⌘ + G選択した複数のボックスをまとめる新しい親ボックスを作る
グループ解除Ctrl/⌘ + Shift + Gグループ化した親ボックスを外し、元の並びに戻す
子要素へ移動Enter選択中のボックスの、1段下の子ボックスを選択する
親要素へ戻るShift + Enter選択中のボックスの、1段上の親ボックスを選択する
次の兄弟要素へTab同じ親を持つ、隣のボックスへ選択を移す
深い階層を直接選択Ctrl/⌘ + クリックEnterを何度も押さずに、目的のボックスへ一気に選択を飛ばす

グループ化とよく混同されるのが、あとのChapter 3で扱うリストやコンポーネントです。グループ化はあくまで、今その場で複数のボックスをまとめて動かすための一時的な操作で、リスト(同じレイアウトの繰り返し)やコンポーネント(複数ページで使い回す共通パーツ)とは目的が異なります。両者の違いは3-3で詳しく扱うため、ここではグループ化が一時的なまとめであることだけ押さえておきましょう。

✓ Point !
Ctrl/⌘+Clickは深い階層ほど効く

Enterで1段ずつ下りていくのは確実ですが、階層が深いと手数がかかります。狙う要素が決まっているときはCtrl/⌘+Clickで直接選択したほうが速く、Enter/Shift+Enterは階層をたどりながら構造を確認したいときに使い分けるとよいでしょう。

入れ子は深くしすぎない

入れ子は画面を組み立てるための基本ですが、段数が増えるほど扱いにくくなります。STUDIOそのものに入れ子の段数を制限する機能はありませんが、実際の制作では入れ子が4〜5段を超えたあたりから、レイヤーパネルの行が縦に伸びすぎて、どの行がどのボックスなのか目で追いにくくなります。

操作動画

この状態になると、編集したいつもりの箇所とは違うボックスをうっかり選択して、意図しない場所にスタイルを当ててしまう事故が起きやすくなります。特に似たような名前のボックスが並んでいる場合、階層が深いほど今どの箱を触っているかを見失いやすくなるのが実務上の問題です。

! 注意
深い入れ子はレイヤーパネルで迷子になりやすい

入れ子が深くなってきたと感じたら、そのセクションの構造を一度レイヤーパネルで見直しましょう。同じ役割のボックスがいくつも重なっていないか、グループ化で代用できる箇所がないかを確認すると、階層を浅く保ちやすくなります。

✓
入れ子を組むときの基本ルール
迷ったらレイヤーパネルで確認する
見た目だけで親子関係を判断すると、重なりや小さな要素で誤選択しやすいためです。
一時的なまとめはグループ化を使う
意味のある構造を増やさずに、複数ボックスをまとめて動かせるからです。
階層が深くなりすぎたら見直す
段数が増えるほど、レイヤーパネル上で目的のボックスを見失いやすくなるためです。
Q
確認クイズ
3つのボックスを一時的にまとめて、まとめて位置を動かしたいだけのときに使う操作はどれでしょうか。
✓
正解です!
複数のボックスを一時的にまとめて扱いたいだけなら、Ctrl/⌘+Gのグループ化が最も手軽です。必要なくなればCtrl/⌘+Shift+Gでいつでも解除できます。
✕
惜しい!
正解はBです。コンポーネントやリストは別の目的を持つ機能で、一時的にまとめたいだけならグループ化が適しています。
🔍 もっと深掘り! — Baseレイヤーの特別な性質

Baseはページの一番外側にある土台のボックスという特別な存在のため、通常のボックスと違って条件付きスタイル(ホバー時だけ色を変える、といった特定の状態だけに適用するスタイル)を設定できません。あとのレッスンで固定ヘッダーを作るときも、Base直下に置くという条件が出てきます。Baseは他のボックスを載せるための土台であり、それ自体を装飾するボックスではない、と覚えておくと理解しやすくなります。

SUMMARY
  1. STUDIOのすべてのボックスはBaseを土台にした親子関係(入れ子)で組み立てられている
  2. ボックスの余白や位置は直近の親を基準に決まる
  3. レイヤーパネルの選択とキャンバスの選択は連動しており、見た目で判断できないときはレイヤーパネルで探す
  4. 複数ボックスの一時的なまとめにはCtrl/⌘+Gのグループ化を使う
  5. 選択の移動はEnter/Shift+Enter/Tab/Ctrl+Clickで切り替えられる
  6. 入れ子が深くなりすぎると、レイヤーパネルで目的のボックスを見失いやすくなる
チェック
理解度チェック
レイヤーパネルを見て、どのボックスがどのボックスの中にあるかを読み取れる
レイヤーパネルは親子関係を階層のインデントで表示し、キャンバス上の選択と連動しています。見た目で判断が難しいときはレイヤーパネルの階層から親子関係を確認します。
グループ化(Ctrl/⌘+G)と解除を使い分けられる
複数のボックスを一時的にまとめて扱いたいときはCtrl/⌘+Gでグループ化し、不要になればCtrl/⌘+Shift+Gで解除します。意味のある構造を作るリストやコンポーネントとは目的が異なります。
Enter/Shift+Enter/Ctrl+Clickで親子の選択を切り替え、目的の要素を選択できる
Enterで子要素へ、Shift+Enterで親要素へ移動し、Tabで兄弟要素へ移ります。深い階層の要素はCtrl/⌘+Clickで直接選択できます。
よくあるつまずき Q&A
グループ化すると、レイヤーパネルの名前が分かりにくくなります
グループ化した親ボックスは自動的に汎用的な名前が付きます。あとで見返す可能性があるまとまりには、レイヤーパネル上でダブルクリックして名前を分かりやすく変えておくと、次のレッスン以降で迷いにくくなります。
Base直下とは、具体的にどこのことですか?
Baseはページの一番外側の土台ボックスです。Base直下とは、他のセクションボックスの中に入れず、Baseに対して1段だけの子として置くことを指します。固定ヘッダーなど、あとのレッスンで条件になる場面があります。
今すでに入れ子が深くなってしまった場合、今すぐ直す必要がありますか?
このレッスンの時点では直す必要はありません。まずはレイヤーパネルで現在の階層を確認できる状態を目指し、余白やサイズ指定を学ぶ次のレッスン以降で、必要に応じて構造を整理していきましょう。
Enterを押しても子要素が選択されません
選択しているボックスに子要素が1つもない場合、Enterを押しても反応しません。レイヤーパネルでそのボックスの行を確認し、子の行が存在するかどうかを見てみましょう。