【CSS】overflowの初心者向け取り扱い説明書

こんにちは、最近ミーアキャットの可愛さに気付き、将来飼いたいなって思ってしまったみもざです。

さて、本題に入りたいと思います。

CSSを学んでいる方は理解できるかと思いますが、CSSにはたくさんの種類のプロパティがあり、それぞれのプロパティが違った働きをすることによってHTMLに装飾することができます。

そこで今回は、CSSのプロパティの一つである「overflow」の

・overflowの基本的な使い方

・overflowの使い方〜実践〜

について説明します。

overflowとは

overflowの読み方

「overflow」は、「オーバーフロー」という読み方をします。

overflowとは、「入れ過ぎてしまったよ」「入り切らないよ」といった意味になります。

CSSでのoverflowとは

CSSでのoverflowとは、CSSのプロパティの一つで、要素のボックスからはみ出した時、はみ出した部分をどうするかを設定できる役割を持っています。

言葉だけではイメージを掴みにくいと思うのでデモを用意しました。

See the Pen
overflow_sample1
by mimosa (@im_mimosa)
on CodePen.


オレンジの部分が要素のボックスで、「ABCD」までしかオレンジボックスに収まっていません。

「E」以降ははみ出してしまっています。その時に、「overflow」を使ってはみ出している「E」以降をどうしていくかを指定していきます。

overflowで利用できる値

overflowでは以下の4つの値を使うことができます。

説明
visible 初期値で、要素のボックスからはみ出した部分が、はみ出したまま表示されます。
hidden 要素のボックスからはみ出した部分が、隠れて(非表示)要素のボックスに収まっている部分だけ表示されます。
scroll 「scroll」は、要素のボックスからはみ出した部分が隠れ、スクロールすればはみ出した部分が表示されます。
auto 「auto」は、要素のボックスからはみ出た部分をどう処理させるかをブラウザ側に任せます。基本的には、「scroll」で指定した時と同じ様に、要素のボックスからはみ出た部分はスクロールをして表示されるようになります。

対応ブラウザ

overflowの対応ブラウザは以下の通りです。

PC用ブラウザ 対応状況
Chrome 完全対応
Edge 完全対応
Firefox 完全対応
Internet Explorer 完全対応
Opera 完全対応
Safari 完全対応
スマートフォン用ブラウザ 対応状況
Android webview 完全対応
Android版Chrome 完全対応
Android版Firefox 完全対応
Android 版 Opera 完全対応
iOS版Safari 完全対応
Samsung Internet 完全対応

overflowの基本的な使い方

overflowの使い方

「overflow」は以下のように記述し使います。

※セレクタには、スタイルを適用させたい要素のタグ名や、ID名、クラス名を入れます。

イメージを掴みやすいように、overflowの値別にデモを用意させていただきました。ぜひ参考にしてくださいね。

visible

See the Pen
overflow_visible
by mimosa (@im_mimosa)
on CodePen.


overflowを指定していますが、値は初期値の「visible」なので、オレンジの部分からはみ出したままですよね。

hidden

See the Pen
overflow_hidden
by mimosa (@im_mimosa)
on CodePen.


「overflow」を指定していない時や、「overflow」の値を「visible」にしている時にはみ出して表示されていた「E」以降が表示されていませんよね。

scroll

See the Pen
overflow_scroll
by mimosa (@im_mimosa)
on CodePen.


要素のボックスからはみ出た部分は一見、非表示されているように見えますが、ボックス内にカーソルを当ててスクロールしてみると、ボックスからはみ出た部分も見れるようになります。

auto

See the Pen
overflow_auto
by mimosa (@im_mimosa)
on CodePen.


要素のボックスからはみ出した部分はスクロールをして表示されるようになっています。

overflowと類似するプロパティとの違い

overflowと類似するプロパティは、overflow-xoverflow-yがあります。

overflowと、overflow-xとoverflow-yの違いはなんでしょうか?

overflowとoverflow-yの違い

overflow-yは、内容が要素のボックスの中からはみ出した時に、縦にはみ出した部分をどう表示させるかを指定します。

なので、スクロールバーは縦のみの表示となります。

overflowとoverflow-xの違い

overflow-xは、内容が要素のボックスの中からはみ出した時に、横にはみ出した部分をどう表示させるかを指定します。

なので、スクロールバーは横のみの表示となります。

実際にoverflowを使ってみよう

はじめに

実践の前に、実践で使うHTMLの一部分とoverflow以外のcssの部分だけここに記述したいと思います。

【実践で使うHTMLのコードの一部】

 

【実践で使うCSSのコードの部分】

上記は、サンプルなので自分で好きなコードを記述してもらっても構いません。

【実践1】要素のボックスからはみ出した部分を非表示にしてみよう

実践の一つ目は、要素のボックスからはみ出した部分を非表示にしてみましょう。

出来ましたか?

はみ出した部分を非表示にしたいときは、「hidden」を使うのでしたね。

以下実践1の解答デモになります。

See the Pen
overflow_practice1
by mimosa (@im_mimosa)
on CodePen.

【実践2】要素のボックスからはみ出した部分をスクロールさせて表示させてみよう

実践の二つ目は、要素のボックスからはみ出た部分をスクロールさせて表示させてみましょう。

出来ましたか?

はみ出た部分をスクロールで表示させたいときは、「scroll」を使うのでしたね。

以下実践2の解答デモになります。

See the Pen
overflow_practice2
by mimosa (@im_mimosa)
on CodePen.

まとめ

いかがでしたか?今回は、overflowについてのお話でした。

要素のボックスからはみ出たときは、「overflow」を使って、はみ出た部分をそのまま表示させたり、非表示にさせたり、スクロールを使って表示させたりすることが出来るということがわかりました。

要素のボックスからはみ出た部分をどうするか指定するときには、「overflow」をぜひ使ってみてくださいね。

この記事が、プログラミング初学者に参考になれば幸いです。

参考文献:MDN Web Docs:overflow

BLOGコンテンツをパーソナライズします

あなたは現在「プログラミング学習者」ですか?