CSS オーバーフロー

CSS オーバーフローモジュールのプロパティを使用すると、視覚メディアでスクロール可能なオーバーフローを処理することができます。

オーバーフローは、要素ボックス内のコンテンツがボックスの 1 つまたは複数の端を越えるときに起こります。スクロール可能なオーバーフローとは、要素ボックスの外側に現れるコンテンツのことで、スクロール機構を追加したい場合があります。CSS オーバーフローのプロパティを使用すると、コンテンツが要素ボックスからあふれたときに何が起こるかを制御することができ、 JavaScript なしでカルーセルを作成することもできます。

コンテンツがはみ出すものの、 CSS のボックスモデルに関与しない描画効果は、レイアウトには影響しません。この種のオーバーフローはインクオーバーフローとも呼ばれます。インクオーバーフローの例としては、ボックスシャドウ、境界画像、テキスト装飾、はみ出したグリフ、輪郭線などが挙げられます。インクオーバーフローはスクロール可能なオーバーフロー領域を拡張しません。

オーバーフローの実際

次の例で、隣接する固定サイズのボックス内のコンテンツのオーバーフローおよびスクロールバーに対する、さまざまな overflow プロパティの値の効果を確認してください。

この例では、overflow-clip-margin プロパティと width プロパティの値を変更するオプションも含まれています。また、overflow プロパティがスクロールコンテナーを生成する場合、コンテンツをプログラムでスクロールすることもできます。 overflow: clip を選択し、 overflow-clip-margin の値を変えた場合の効果を確認します。 overflow: hidden または overflow: scroll を選択し、様々な ScrollLeftScrollTop スライダーの設定を調べます。

上のコンテンツボックスにはリンクが記載されていますが、これはキーボードフォーカスがオーバーフローやスクロール動作に与える効果を示すためのものです。リンクに移動したり、コンテンツをプログラムでスクロールしてみてください: 列挙値である <overflow> がスクロールコンテナーを生成した場合のみ、コンテンツはスクロールします。

リファレンス

CSS プロパティ

メモ: CSS オーバーフローモジュールレベル 4 では、 block-ellipsis, continue, max-lines, overflow-clip-margin-block, overflow-clip-margin-block-end, overflow-clip-margin-block-start, overflow-clip-margin-bottom, overflow-clip-margin-inline, overflow-clip-margin-inline-end, overflow-clip-margin-inline-start, overflow-clip-margin-left, overflow-clip-margin-right, and overflow-clip-margin-top の各プロパティが導入されました。これらはまだ実装されていません。

セレクターと擬似要素

データ型

ガイド

学習: コンテンツのオーバーフロー

オーバーフローとは何か、どのように管理するかを学びます。

CSS によるカルーセルの作成

スクロールボタン、スクロールマーカー、および生成された段をを使用して、純粋な CSS によるカルーセル UI 機能を作成します。

名前付きスクロール進行タイムラインアニメーションの作成

CSS スクロールタイムライン scroll-timeline-name および scroll-timeline-axis プロパティと scroll-timeline の一括指定は、スクロールコンテナーのスクロールオフセットに関連付けられたアニメーションを作成します。

関連概念

仕様書

Specification
CSS Overflow Module Level 3
CSS Overflow Module Level 4
CSS Overflow Module Level 5

関連情報