【CSS】スマホ、タブレットで横スクロールする実装サンプル集

横スクロールー
横スクロールー

画像を横にスクロールしてみる

幅600px以下は横スクロールに設定してみました。
(スマホでチェックしてみていただくとわかりやすいかと思われますー)

コードを見る(HTML・CSS)

HTML

<div class="scroll-box">
  <div><img src="https://125naroom.com/demo/common/img/slide01.svg" alt=""></div>
</div>

CSS

/*===========
.scroll-box
===========*/
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
}
.scroll-box div img {
  max-width: 100%;
  min-width: 600px;
  vertical-align: top;
}

/*===========
scrollbar
===========*/
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 4px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #e8e3d8;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #6b675f;
  border: none;
}
/*スクロールバーの動く部分のホバー(マウスオーバー)*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #2b2a27;
}

テーブルを横にスクロールしてみる

幅600px以下は横スクロールに設定してみました。
(スマホでチェックしてみていただくとわかりやすいかと思われますー)

コードを見る(HTML・CSS)

HTML

<div class="scroll-box">
  <table>
    <tbody>
      <tr>
        <th width="55%">テキスト</th>
        <th width="45%">テキスト</th>
      </tr>
      <tr>
        <td>テキストテキストテキストテキスト</td>
        <td class="t-c">テキスト</td>
      </tr>
      <tr>
        <td>テキストテキストテキストテキストテキスト</td>
        <td class="t-c">テキスト</td>
      </tr>
      <tr>
        <td>テキストテキスト</td>
        <td class="t-c">テキスト</td>
      </tr>
      <tr>
        <td>テキストテキストテキスト</td>
        <td class="t-c">テキスト</td>
      </tr>
    </tbody>
  </table>
</div>

CSS

/*===========
.scroll-box
===========*/
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
}

/*===========
scrollbar
===========*/
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 4px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #e8e3d8;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #6b675f;
  border: none;
}
/*スクロールバーの動く部分のホバー(マウスオーバー)*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #2b2a27;
}

/*===========
table
===========*/
.scroll-box table {
  width: 100%;
  min-width: 600px;
  border: 1px solid #e8e3d8;
  margin: 0;
}
.scroll-box table th {
  padding: 15px;
  background: #f3efe6;
  border: 1px solid #e8e3d8;
  vertical-align: middle;
  font-size: 14px;
  text-align: center;
}
.scroll-box table td {
  padding: 15px;
  background: #fff;
  border: 1px solid #e8e3d8;
  vertical-align: middle;
  font-size: 14px;
  text-align: center;
}

まとめたコンテンツを横にスクロールしてみる

幅1200px以下は横スクロールに設定してみました。
(スマホやタブレットでチェックしてみていただくとわかりやすいかと思われますー)

コードを見る(HTML・CSS)

HTML

<div class="scroll-box">
  <div class="f_area">
    <div class="f_one">
      <a href="#"><img src="https://125naroom.com/demo/common/img/slide01.svg" alt=""></a>
    </div>
    <div class="f_one">
      <a href="#"><img src="https://125naroom.com/demo/common/img/slide02.svg" alt=""></a>
    </div>
    <div class="f_one">
      <a href="#"><img src="https://125naroom.com/demo/common/img/slide03.svg" alt=""></a>
    </div>
  </div>
</div>

CSS

/*===========
.scroll-box
===========*/
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
}

/*===========
scrollbar
===========*/
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 4px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #e8e3d8;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #6b675f;
  border: none;
}
/*スクロールバーの動く部分のホバー(マウスオーバー)*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #2b2a27;
}

/*===========
.f_area
===========*/
.scroll-box .f_area {
  display: flex;
  justify-content: center;
}
.scroll-box .f_area .f_one {
  width: 33.333%;
}
.scroll-box .f_area .f_one a {
  display: block;
  overflow: hidden;
  backface-visibility: hidden;
}
.scroll-box .f_area .f_one a img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  transform: scale(1);
  transition: .5s;
}
.scroll-box .f_area .f_one a img:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 1024px) {
  .scroll-box {
    overflow-x: auto;
  }
  .scroll-box .f_area {
    justify-content: flex-start;
    overflow-x: scroll;
    padding: 0 0 15px;
  }
  .scroll-box .f_area .f_one {
    flex: 0 0 45%;
  }
}
@media screen and (max-width: 767px) {
  .scroll-box .f_area .f_one {
    flex: 0 0 80%;
  }
}

/* 動きを減らす設定のとき */
@media (prefers-reduced-motion: reduce) {
  .scroll-box .f_area .f_one a img { transition: none; }
}

スクロールバーもCSSでカスタマイズできます

CSS

/*===========
scrollbar
===========*/
/*スクロールバー全体の高さ*/
.scroll-box::-webkit-scrollbar {
  height: 4px;
}
/*スクロールバー全体の背景*/
.scroll-box::-webkit-scrollbar-track {
  background: #e8e3d8;
}
/*スクロールバーの動く部分*/
.scroll-box::-webkit-scrollbar-thumb {
  background: #6b675f;
  border: none;
}
/*スクロールバーの動く部分のホバー(マウスオーバー)*/
.scroll-box::-webkit-scrollbar-thumb:hover {
  background: #2b2a27;
}

さいごに

横スクロールっておしゃれですねー
おしゃれっていいですよねー

デザコトauthor

あ、いいな、と思うWebデザインを紹介しています。デザインの参考に。やさしいデザインが多いです。Webデザインギャラリー『デザインのこと - Web design gallery』を運営しています。