CSSのスクロール可能なボックスを作る方法!初心者でもわかるoverflowとheightの使い方
生徒
「先生、長い文章やリストを入れたときに、全部がページに表示されてしまってレイアウトが崩れることがあるんですが、どうすればいいですか?」
先生
「それはCSSのoverflowとheightを組み合わせれば解決できますよ。ボックスの高さを決めて、中身がはみ出したらスクロールできるようにする方法です。」
生徒
「なるほど!スクロールできる箱を作れるんですね。」
先生
「はい、それでは実際の例を見てみましょう。」
1. overflowとheightの基本
CSSのoverflowは「要素の中身がはみ出したときにどう処理するか」を決めるプロパティです。
一方、heightは「要素の高さ」を指定するプロパティです。
この2つを組み合わせると、決まった高さの中にコンテンツを収めて、はみ出した部分をスクロールできるようにできます。
例えば日記帳を思い浮かべてください。1ページの大きさは決まっています。そこに文章を書きすぎると、はみ出した部分は見えなくなってしまいますよね。そこで、スクロールという「めくる仕組み」をつけることで、全部の文章を読むことができるようになるのです。
2. 縦スクロールができるボックスの作り方
最も基本的な使い方は、overflow-y: scroll;とheightを組み合わせる方法です。こうすると、縦方向にスクロールできるボックスを作れます。
<style>
.scroll-box {
height: 100px;
width: 200px;
border: 1px solid #333;
overflow-y: scroll;
padding: 5px;
}
</style>
<div class="scroll-box">
1行目のテキストです。<br>
2行目のテキストです。<br>
3行目のテキストです。<br>
4行目のテキストです。<br>
5行目のテキストです。<br>
6行目のテキストです。<br>
7行目のテキストです。<br>
</div>
ブラウザ表示
3. 横スクロールのボックス
横方向に長いテキストや画像を入れるときは、overflow-xを使います。表やコードを横にスクロールできるようにするときによく使います。
<style>
.scroll-x-box {
width: 200px;
border: 1px solid #666;
overflow-x: scroll;
white-space: nowrap;
}
</style>
<div class="scroll-x-box">
横に長いテキストを表示します。スクロールして続きを確認してください。
</div>
ブラウザ表示
4. overflowの主な値の種類
overflowにはいくつかの指定方法があります。
- visible:はみ出した部分をそのまま表示する(初期値)
- hidden:はみ出した部分を隠す
- scroll:はみ出していなくても常にスクロールバーを表示する
- auto:はみ出したときだけスクロールバーを表示する
実務ではautoを使うことが多いです。なぜなら、必要なときだけスクロールが出るので、見た目がスッキリするからです。
5. 実際によくある活用例
スクロール可能なボックスは、日常的にいろいろな場面で使われます。
- チャットアプリのメッセージ表示エリア
- ニュースサイトやブログのサイドバー
- 管理画面の長いリストやログ表示
- プログラミングコードの表示エリア
例えばチャットアプリでは、過去のメッセージがどんどん増えていきますが、表示エリアは一定の高さにしてスクロールで読み返せるようにします。これもoverflowとheightを組み合わせているのです。
6. デザインを整えるポイント
スクロールボックスを使うときに気を付けると便利なポイントを紹介します。
- 高さ(height)はユーザーが見やすいサイズに調整する
- paddingをつけて文字が端にくっつかないようにする
- 背景色を変えて、スクロールエリアがわかりやすいようにする
- レスポンシブデザインと組み合わせてスマホでも使いやすくする
特に初心者の方は、「スクロールが必要になる高さを決めること」が重要です。大きすぎても小さすぎてもユーザーが使いにくいので、内容に合わせて調整しましょう。
まとめ
この記事では、CSSのoverflowとheightを組み合わせたスクロール可能なボックスの作り方を、多くの例とともに丁寧に整理しました。長い文章や大量のリストが画面を圧迫する場面は、日常的なWeb制作でも頻繁に起こります。そのようなとき、overflowを適切に設定すれば、デザインを損なうことなく必要な情報だけを読みやすい形で提示できます。とくにoverflow-yやoverflow-xを使った縦スクロール・横スクロールの実装は、初心者にとって理解しやすく、実務でも使う場面が豊富です。また、scroll・auto・hiddenといった値の違いを知ることで、スクロールの表示タイミングや見え方をコントロールでき、ユーザー体験を向上させることができます。
スクロールエリアは、チャットアプリ、ニュースサイトのサイドバー、ログビューア、コード表示領域など、あらゆるUIに登場します。そのため、overflowとheightは必ず覚えておくべき基本テクニックです。さらに、paddingやbackground-colorを使用することで、より視認性を高めたデザインへと仕上げることができます。今回紹介した例のように、シンプルなCSSだけで視覚的に整ったスクロールボックスを表現できるため、初心者でも安心して活用できます。ここで学んだポイントを組み合わせれば、場面に応じた柔軟なスクロールボックスを作ることができるでしょう。
スクロール可能な例のサンプルコード
<style>
.summary-scroll-box {
height: 120px;
width: 260px;
padding: 8px;
border: 1px solid #444;
overflow-y: auto;
background: #fafafa;
}
</style>
<div class="summary-scroll-box">
ここでは記事全体の振り返りとして、スクロールボックスの具体例を再確認できます。<br>
overflowとheightの組み合わせを使うことで、長い文章をコンパクトに収めることができます。<br>
実際の制作現場では、チャット欄・お知らせリスト・ログ一覧など、活用場面は非常に多いです。<br>
デザインが崩れず、閲覧性も高まるため、多くのUIで採用されています。<br>
今後CSSレイアウトを学ぶときにも、この仕組みを知っておくと便利です。<br>
heightを調整しながら、必要に応じてscroll・auto・hiddenを使い分けてみてください。<br>
</div>
ブラウザ表示
生徒
「きょうの内容で、スクロールボックスって意外といろいろなところで使われているんだと分かりました!」
先生
「そうですね。特にチャットやログ画面など、情報量が多い場所では欠かせません。overflowとheightを覚えておけば、多くのUIに応用できますよ。」
生徒
「heightで大きさを決めて、overflow-yやoverflow-xでスクロール方向を調整する感じですよね?値の違いも理解できました。」
先生
「その通りです。特にautoは実用でよく使いますし、hiddenはデザインの整理に役立ちます。今回のサンプルコードを自分のページでも試してみると、さらに理解が深まりますよ。」
生徒
「はい!いろいろな高さやデザインで試しながら、スクロールの動きを確認してみます。」
先生
「とてもいいですね。CSSレイアウトの基礎として今回の内容は大切なので、ぜひ実際に触れながら身につけていきましょう。」
この記事を読んだ人からの質問
プログラミング初心者からのよくある疑問/質問を解決します
CSSでスクロール可能なボックスを作るにはどうすればいいですか?
スクロール可能なボックスを作るには、CSSのoverflowプロパティとheightプロパティを組み合わせて使うことで、中身がはみ出た場合にスクロールできるようになります。
overflowとheightの関係とは何ですか?
heightでボックスの高さを固定し、overflowで中身がはみ出たときの表示方法を指定することで、はみ出した内容をスクロールできるボックスを作ることができます。
【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー
「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。
本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」と「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。
具体的なワークショップ内容と環境
【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。
【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。
この60分で得られる3つの技術資産
要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。
後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。
画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。
※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。
リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら