【CSS】コーポレートサイトでよく見かけるスクロールテキストの実装

【CSS】コーポレートサイトでよく見かける横に流れる文字の実装

おしゃれなコーポレートサイトでよく見かける、横に流れる文字(スクロールテキスト)の実装方法をご紹介します。

HTMLもCSSも超簡単なので是非お試しください。

目次

HTML

HTMLは、リストで流したい文字を並べるだけです。

<ul class="scroll-list">
  <li>Hello World!</li>
  <li>Hello World!</li>
  <li>Hello World!</li>
</ul>

WordPressならリストブロックで作成してもOK。

  • Hello World!
  • Hello World!
  • Hello World!

CSS

  • Hello World!
  • Hello World!
  • Hello World!
/* ulタグ */
.scroll-text {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  background-color: skyblue;
  overflow: hidden;
}

/* liタグ */
.scroll-text li {
  color: #fff;
  font-size: 3em;
  font-weight: bold;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  animation: marquee-left 16s linear infinite;
}

/* PCの時のフォントサイズ */
@media (min-width: 600px) {
  .scroll-text li {
    font-size: 8vw;
  }
}

/* アニメーション */
@keyframes marquee-left {
  100% {
    transform: translateX(-100%);
  }
}

ポイントは以下の通り。

  • ulタグの横の余白は全てリセットする
  • liタグで文字間の余白を指定する
  • liタグをアニメションさせる

親要素であるulタグに余白があると、アニメーションのループが余白の位置で途切れてループしてしまいます。

そのため、ulタグはあくまで横並びにするだけにとどめた方が、カスタマイズしやすいです。

幅を全画面に広げる

  • Hello World!
  • Hello World!
  • Hello World!

全画面幅にする場合は、特に不要なoverflowプロパティを削除し、下3つのプロパティを追加します。

/* ulタグ */
.scroll-text {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  background-color: skyblue;
  /* overflow: hidden; */

  /* 幅を全画面に広げる */
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
}

PCの時、文字が途切れる心配のある場合は、リストの数を増やすか、font-sizeの単位をvw(画面幅に合わせた大きさ)にすることで対処することができます。

まとめ

文字を大きめにすると、モダンな雰囲気が出てオシャレに見えますね…!

以上、横に流れる文字の実装方法でした。

おすすめWEBスクール

WEB制作やWEBデザインを学びたいなら、SNSでも話題の「デイトラ」がおすすめ!
どのコースも10万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。

\ ここから飛べます! /

役に立ったら他の方にシェア

お気軽にコメントどうぞ

コメントする

目次