CSS のフレックスボックスの登場により、サイドバーなどの2段組レイアウトを簡単に実現できるようになりました。
アプリによっては、サイドバーと本文部分を別々にスクロールできるようになっていると便利です。
次の例では、フレックスボックスのアイテムとして配置した 2 つの div
要素 (left と right) を、別々に縦スクロールできるようにしています。
ポイントは次の通りです。
- 親要素 (container) の
height
で高さを指定する - 子要素 (left/right) の
overflow-y
にauto
を指定する
これらの設定により、子要素の内容が表示領域 (height
) に収まらないときに、自動的にスクロールバーが表示されるようになります。
☝️ height: 100% 指定するときの注意
height
プロパティを 100%
のようにパーセンテージ指定する場合は、親要素の高さが明確になっている必要があります。
この例では body
要素の高さを画面いっぱい (100vh
) に設定し、その子要素 (.container
) の高さをその 100% になるように設定しています。