• 最終更新日
  • CSS

CSSでテキストを自動スクロールする方法!お知らせは動きを付けて目立たせる

これはかな~り前に流行ってた手法なんですが、今でもよく見かけるので人気があるってコトですね。たしかに僕も依頼でよく実装してます。

HTML5で「marquee」タグは廃止されちゃったんですけど、この「marquee」タグを使うと文字をスクロールする事ができたんです。今では「animation」プロパティを使います。

ヘッドラインなどの見出しや新着情報などのお知らせを自動スクロールする事によって視認性がアップするので良かったら使ってみてください。

CSSでテキストを自動スクロールする方法

それではHTMLの記述とCSSの設定を見ていきましょう。

index.html

            
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>テキストを自動スクロールする</title>
  6. <style>
  7. * {
  8.   margin: 0;
  9.   padding: 0;
  10.   box-sizing: border-box
  11. }
  12.  
  13. html {
  14.   font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo UI", "Meiryo", "MS PGothic", sans-serif;
  15.   font-size: 62.5%;
  16.   letter-spacing: 0.09em;
  17.   font-feature-settings: "palt"
  18. }
  19.  
  20. .marquee {
  21.   width: 100%;
  22.   height: 40px;
  23.   line-height: 40px;
  24.   background: #000;
  25.   overflow: hidden
  26. }
  27.  
  28. .marquee p {
  29.   color: #fff;
  30.   font-size: 1.5rem;
  31.   padding-left: 100%;
  32.   white-space: nowrap;
  33.   padding: marquee 10s linear infinite;
  34.   display: inline-block
  35. }
  36.  
  37. @keyframes marquee {
  38.   0% { transform: translateX(0) }
  39.   100% { transform: translateX(-100%) }
  40. }
  41. </style>
  42. </head>
  43. <body>
  44.   <div class="marquee">
  45.     <p>ここに記述した文字が自動スクロールされます。</p>
  46.   </div>
  47. </body>
  48. </html>

こちらをコピペして貰えればOKです。ちょっとわかりづらいかも知れないのでひとつずつ確認していきますね。

            
  1. <div class="marquee">
  2.   <p>ここに記述した文字が自動スクロールされます。</p>
  3. </div>

HTMLの記述は特に問題はないですね。「div」タグの中に「p」タグを入れているだけです。クラス名は何でも良いのでお好きな名前に変更してください。

            
  1. @keyframes marquee {
  2.   0% { transform: translateX(0) }
  3.   100% { transform: translateX(-100%) }
  4. }

大事なのはCSSの設定です。まずは「@keyframes」を使ってアニメーションの設定をおこないます。

            
  1. .marquee {
  2.   width: 100%;
  3.   height: 40px;
  4.   line-height: 40px;
  5.   background: #000;
  6.   overflow: hidden
  7. }
  8.  
  9. .marquee p {
  10.   color: #fff;
  11.   font-size: 1.5rem;
  12.   padding-left: 100%;
  13.   white-space: nowrap;
  14.   padding: marquee 10s linear infinite;
  15.   display: inline-block
  16. }

そして「@keyframes」で設定したアニメーションは「p」タグに適応させます。

使用する時はこの形をベースにして頂いて背景色や文字色、スクロール時間などをお好みの形にカスタマイズしてみてください。

ここに記述した文字が自動スクロールされます。

はい、自動スクロールのサンプルを表示してみました。これが王道の形ですね。右からテキストが左に流れていって、テキストが流れ終わったら繰り返して右からテキストが流れ出します。

実装は簡単なのでこういう小技を要所要所で使うのも遊び心があって良いと思います。ホームページを作る際のひとつの引き出しとして覚えておいてください。

ホームページの簡単な作り方以外にも
お得な情報や日常を紹介するブログも是非どうぞ!
Webに関連するレンタルサーバーなどの特徴・料金比較や、
個人的に挑戦している資格取得についての勉強法やグルメなどを紹介しています。