MENU

【CSS】overflow-xを使ってはみ出た部分をスクロールさせる

はみ出た部分をスクロールさせる

横に長い要素を折り返さずにスクロール表示させたいな~

というわけで今回は、overflow-xを使ってはみ出た部分をスクロールさせる方法についてご紹介します!
過去にも同様の内容で記事を投稿しておりますが、今回はもう少し詳細な使い方の説明になります!

【CSS】特定の要素だけを横スクロールさせて表示する

目次

はみ出た部分をスクロールさせる

今回は横に長い要素を折り返さずに、スクロールバーを表示させて横スクロールさせます。
よくあるのは、レスポンシブで表を表示させるときなどですね。

テキストのみなら折り返しても問題なさそうですが、表とかだとテキスト範囲が狭い上に
折り返すと表自体が縦長になって見づらくなったりしますよね。

そこで横にはみ出た部分をスクロールさせて表示させましょう!

overflow-x: scroll;

ではまずは何も指定していないコードを見てみましょう。

See the Pen はみ出た部分をスクロールさせる(ブログ用試し) by そす (@Sosgoyo) on CodePen.

親要素の幅を最大200pxに固定しております。
わかりやすいように親要素はボーダーで線を引いています。
なにも指定していないので、子要素のテキストは折り返されて表示されていますね。

では、親要素にoverflow-x: scroll;を指定してみましょう!

See the Pen はみ出た部分をスクロールさせる by そす (@Sosgoyo) on CodePen.

どうでしょう?
横スクロールのバーが出現して横にスクロールできるようになりましたね。
ここでのポイントは、

・親要素(overflow-x: scroll;を指定した要素)のwidthを指定する
・子要素のwidthを指定する
・テキストの折り返しが嫌な場合はwhite-space: nowrap;を指定して折り返しをさせないようにする

上記を指定しない場合、どういう挙動するかは実際に値を消して試してみてください。
overflow-x: scroll;を指定してもスクロール出ない!という場合は上記の指定を忘れている可能性が高いです!

スクロールバーを消したい場合

スクロールはさせたいけど、下のスクロールバーは消したい!というときは
下記のように疑似要素を使って実装します。

See the Pen はみ出た部分をスクロールさせる by そす (@Sosgoyo) on CodePen.

親要素(overflow-x: scroll;)を指定したクラスに疑似要素「::-webkit-scrollbar」をつけて
「display: none;」を指定するとスクロールバーを消すことができます。

まとめ

というわけで今回はoverflow-xを使ってはみ出た部分をスクロールさせる方法についてご紹介しました!
表などを実装する際はぜひご検討ください!

よかったらフォローしてね!!
  • URLをコピーしました!
  • URLをコピーしました!
目次