【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-list {
display: flex;
list-style: none;
padding-inline: 0;
margin-inline: 0;
gap: 0;
background-color: skyblue;
overflow: hidden;
}
/* liタグ */
.scroll-list 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-list 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-list {
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
(画面幅に合わせた大きさ)にすることで対処することができます。
まとめ
文字を大きめにすると、モダンな雰囲気が出てオシャレに見えますね…!
以上、横に流れる文字の実装方法でした。
懐かしのmarqueeタグをCSSで完全再現!文字の自動スクロール
私のホームページへようこそ! あなたは1000人目のお客様です☆彡キリ番ならBBSにコメント残してくださいね!踏み逃げ厳禁! ──と、2000年代初頭インターネット黎明期に…
おすすめWEBスクール
WEB制作やWEBデザインを学びたいなら、SNSでも話題の「デイトラ」がおすすめ!
どのコースも10万円前後と業界最安値で、副業や転職に向けて十分なスキルを身につけることができます。
\ クリックしてジャンプ! /
お気軽にコメントどうぞ
コメント一覧 (1件)
黒田先生