overflow:hidden、scroll、auto、clip
hidden、scroll、auto、clipの値を使って、あふれたコンテンツの扱いを制御します。
「overflow:hidden、scroll、auto、clip」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
overflowプロパティの振り返り
overflowは、要素のコンテンツが定義されたサイズを超えたときの動作を制御します。両方の軸に同時に適用されます(軸ごとに制御する場合はoverflow-xとoverflow-yを使用します)。
overflow: visible
visible(デフォルト)では、コンテンツがボックスの外側にも描画されます。ブロックフォーマッティングコンテキスト(BFC)は作成されません。他の要素が、はみ出したコンテンツと重なることがあります。
overflow: hidden
hiddenは、ボックスの境界でコンテンツを切り取ります。フロートを内包し、マージンの相殺を防ぐBFCを作成します。角丸の画像コンテナで最もよく使われる値です。
<div class="rounded-card"></div>overflow: scroll
scrollは、コンテンツがはみ出しているかどうかにかかわらず、対応する軸に常にスクロールバーを表示します。スクロールバーのガターを常に確保してレイアウトシフトを防ぎたい、一貫性のあるUIに便利です。
<div class="console">line 1<br>line 2<br>line 3<br>line 4<br>line 5<br>line 6<br>line 7<br>line 8<br>line 9<br>line 10<br>line 11<br>line 12</div>overflow: auto
autoは、コンテンツが実際にはみ出した場合にのみスクロールバーを表示します。不要なスクロールバーの描画を避けられるため、ほとんどのスクロール可能なコンテナではscrollよりも推奨されます。
<div class="sidebar">Sidebar content line 1<br>Line 2<br>Line 3<br>Line 4<br>Line 5</div>overflow: clip
clipはhiddenと同様にコンテンツを切り取りますが、BFCは作成しません。そのため、フロートの内包やマージンの相殺には影響しません。BFCによる副作用なしにクリッピングしたい場合に使用します。
<div class="decorative-overflow"><div class="deco"></div></div>overflow-xとoverflow-y
各軸を個別に制御します。よくあるパターンは、幅の広いコンテンツ(テーブルやコード)を水平方向にスクロールできるようにし、垂直方向のはみ出しは表示したままにする方法です。
<div class="table-wrapper">
<table>
<tr><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th></tr>
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
</table>
</div>overflowとBFC
visibleとclip以外の値をoverflowに設定すると、ブロックフォーマッティングコンテキストが作成されます。これにより内部のフロートが内包され、マージンの相殺が外側に影響するのを防ぎ、新しいスクロールコンテキストが確立されます。
overflow: overlay(非標準)
overflow: overlayは、レイアウト領域を占有せず、コンテンツの上にスクロールバーを描画します。一部のブラウザーでは非標準の値として扱われていましたが、現在は最新のスクロールバーのスタイル指定に置き換えられつつあります。
scrollbar-gutter
新しいscrollbar-gutter: stableプロパティは、スクロールバーが不要な場合でもそのための領域を確保し、コンテンツがスクロール可能になったときのレイアウトシフトを防ぎます。
<div class="container">Line 1<br>Line 2<br>Line 3<br>Line 4<br>Line 5<br>Line 6<br>Line 7</div>overflowと固定配置の子要素
よくある不具合として、overflow: hiddenを持つ要素内のposition: fixedの子要素が、position: absoluteのように動作することがあります。固定位置が包含ブロックを基準とし、overflowによって新しいスタッキングコンテキストが作成されるためです。
確認問題
ブロックフォーマッティングコンテキストを作成せずにコンテンツを切り取るoverflowの値はどれですか。
まとめ
visible(デフォルト)は、はみ出しを許可します。hiddenはコンテンツを切り取り、BFCを作成します。scrollは常にスクロールバーを表示します。autoは必要な場合にのみスクロールバーを表示します(推奨)。clipはBFCを作成せずにコンテンツを切り取ります。軸ごとに制御するにはoverflow-x/yを使用します。レイアウトシフトを防ぐにはscrollbar-gutter: stableを使用します。
よくある質問
「overflow:hidden、scroll、auto、clip」レッスンは無料ですか?
はい。「overflow:hidden、scroll、auto、clip」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「overflow:hidden、scroll、auto、clip」で何を学びますか?
hidden、scroll、auto、clipの値を使って、あふれたコンテンツの扱いを制御します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「overflow:hidden、scroll、auto、clip」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- overflow:hidden、scroll、auto、clip
- scroll-behavior:smooth
- scroll-snap-typeとscroll-snap-align
- ::-webkit-scrollbarによるスクロールバーのスタイル設定