Tmaeda13web

DesginCodingOperationsThrive

HTMLとCSSで作るマーキー✏️

HTMLとCSSだけでシンプルなマーキー(スクロールテキスト)を作成する方法を紹介します。
HTMLの<marquee>要素は非推奨ですが、CSSの@keyframesアニメーションを使って実装できます。

完成

これはCSSのみで作られたマーキーです。テキストが右から左にスクロールします。

ソースコード

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSSのみのマーキー</title>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: #f0f0f0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            border: 2px solid #333;
            border-radius: 5px;
            background: #fff;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            width: 80%;
            max-width: 600px;
        }
        .marquee-text {
            display: inline-block;
            animation: marquee 10s linear infinite;
            font-size: 2rem;
            padding: 1rem;
        }
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }
    </style>
</head>
<body>
    <div class="marquee-container">
        <div class="marquee-text">
            これはCSSのみで作られたマーキーです。テキストが右から左にスクロールします。
        </div>
    </div>
</body>
</html>

コードの説明

  • HTML:
    • .marquee-container:マーキーの表示エリアを作るためのコンテナです。
    • .marquee-text:スクロールさせるテキストです。
  • CSS:
    • .marquee-container:コンテナのスタイルを設定し、overflow: hidden; でコンテナ外のテキストを隠します。white-space: nowrap; でテキストを一行に表示します。
    • .marquee-text:テキストをinline-blockにし、padding-left: 100%; でテキストがコンテナの外から始まるようにします。animation プロパティを使ってテキストを右から左に移動させます。
    • @keyframes marqueetranslateX を使ってテキストの移動を設定します。0%でテキストが初期位置にあり、100%でテキストがコンテナの外まで移動します。

調整

  • スクロール速度: animation: marquee 10s linear infinite;10s部分を調整することでスクロールの速度を変更できます。
  • テキストの内容: .marquee-textの中のテキストを変更することで、スクロールする内容を自由に変更できます。
  • 方向: translateXの代わりにtranslateYを使うことで、上下にスクロールさせることも可能です。

これで、CSSのみで簡単にマーキー(スクロールテキスト)を作成することができます。HTMLとCSSだけで手軽に実装でき、見栄えも良いマーキーが作れます。

完成品とコピペソース

これはCSSのみで作られたマーキーです。テキストが右から左にスクロールします。
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSSのみのマーキー</title>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: #f0f0f0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        .marquee-container {
            overflow: hidden;
            white-space: nowrap;
            border: 2px solid #333;
            border-radius: 5px;
            background: #fff;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            width: 80%;
            max-width: 600px;
        }
        .marquee-text {
            display: inline-block;
            animation: marquee 10s linear infinite;
            font-size: 2rem;
            padding: 1rem;
        }
        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }
    </style>
</head>
<body>
    <div class="marquee-container">
        <div class="marquee-text">
            これはCSSのみで作られたマーキーです。テキストが右から左にスクロールします。
        </div>
    </div>
</body>
</html>
Recent posts
Archive
Category