【CSS】縦と横にスクロールさせる方法
今回はCSSで縦と横にスクロールさせる方法について紹介します。
WEBサイトにも頻繁に使われている手法なので、是非参考にしてください。
※ Google Chrome、Microsoft edge、Firefox、Safariで動作確認済み
目次
縦にスクロールさせる方法
完成形はこちら。
See the Pen
Untitled by webis (@webis-co)
on CodePen.
◎HTML
<div class="box">
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
<p>テキストが入ります。</p>
</div>
親要素であるboxクラスの中に、pタグを複数行用意します。
◎CSS
.box {
width: 250px;
height: 250px;
margin: 50px auto;
padding: 20px;
border: 1px solid black;
overflow-y: scroll;
}
.box p {
font-size: 20px;
line-height: 1.8;
}
縦スクロールさせるポイントは、heightで高さを指定します。
そして「overflow-y: scroll;」で縦にスクロールさせればOKです。
横にスクロールさせる方法
完成形はこちら。
See the Pen
Untitled by webis (@webis-co)
on CodePen.
◎HTML
<div class="list">
<div class="items">
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
<div class="item">
<h2>タイトル</h2>
<p>テキストが入ります。テキストが入ります。</p>
</div>
</div>
</div>
親要素listの中にitemsとitemを入れ子にします。
◎CSS
.list {
overflow-x: auto;
}
.items {
display: flex;
max-width: 1000px;
margin: 0 auto;
}
.item {
padding: 20px;
width: calc((100% - 75px)/6);
margin-right: 15px;
border: 1px solid black;
}
.item:last-child {
margin-right: 0;
}
.item h2 {
margin-bottom: 15px;
}
.item p {
line-height: 1.5;
}
@media (max-width: 600px) {
.list {
width: 90%;
margin: 0 auto;
}
.items {
width: max-content;
}
}
要素を横にスクロールさせるには一番上の親要素に対して「overflow-x: auto;」を指定します。
そして、1つ下のitemsに対して600px以下の時に「width: max-content;」を指定します。
「width: max-content;」を指定することで、要素が改行しないようになり、横にスクロールさせることが出来ます。
まとめ
以上が、CSSで縦と横にスクロールさせる方法でした。
□参考文献




