CSSテンプレート:高さ固定+スクロール表示
📝 使用用途
このテンプレートは、長文やリストなど、縦に長くなる要素を高さ制限し、スクロール表示にしたい場合に使用します。チャット履歴、ログ表示などに最適です。
📘 解説
max-height を使って高さの上限を定め、overflow: auto; を指定することで、要素内に収まらない部分がスクロール可能になります。
✅ デモ
これはスクロール可能なエリアです。
行が増えていくと自動的にスクロールバーが表示されます。
例:1
例:2
例:3
例:4
例:5
例:6
例:7
📄 コード(部分)
<style>
.scroll-box {
max-height: 150px;
overflow: auto;
border: 1px solid #ccc;
padding: 1rem;
background-color: #fafafa;
}
</style>
<div class="scroll-box">
<p>スクロールエリアの中身</p>
</div>
📦 コード(HTML全体)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>高さ固定+スクロール</title>
<style>
.scroll-box {
max-height: 150px;
overflow: auto;
border: 1px solid #ccc;
padding: 1rem;
background-color: #fafafa;
}
</style>
</head>
<body>
<div class="scroll-box">
<p>これはスクロール可能なエリアです。</p>
<p>内容が増えるとスクロールされます。</p>
<p>例:1</p>
<p>例:2</p>
<p>例:3</p>
<p>例:4</p>
</div>
</body>
</html>
🧩 応用と活用方法
このスクロールボックステンプレートは、様々な場面で活用できます。max-heightの値を調整することで、必要に応じて表示領域の大きさを変更可能です。例えば、モバイル表示用にmax-height: 300px;にしたり、コンパクトなUIではmax-height: 100px;に設定するなど、状況に合わせて柔軟に対応できます。
📱 レスポンシブ対応のポイント
メディアクエリと組み合わせると、デバイスごとに最適な高さを設定できます。例えば、@media (max-width: 768px) { .scroll-box { max-height: 200px; } }のように記述することで、スマホ表示時に高さを調整可能です。
🎨 デザインのカスタマイズ
スクロールバーの見た目を変更したい場合は、::-webkit-scrollbar疑似要素を使用します。例えば.scroll-box::-webkit-scrollbar { width: 8px; }と指定すると、スクロールバーの幅を調整できます。背景色や角丸なども自由にカスタマイズ可能です。
注意点として、overflow: auto;の代わりにoverflow: scroll;を使うと、内容が少ない場合でも常にスクロールバーが表示されます。必要に応じて使い分けると良いでしょう。
このテクニックは、サイドバーのナビゲーションや、ダッシュボードのウィジェット、モーダル内の長文表示など、様々なコンポーネントに応用できます。特にスペースが限られている状況で、コンテンツを効率的に表示したい場合に重宝します。