Menu
CoddyTech

CSS変数を使う

CoddyのHTMLジャーニー「実践的フロントエンド」セクションの一部。レッスン 2/35。

CSS変数はカスタムプロパティとも呼ばれ、値に名前を付けて保存し、CSS全体で再利用できます。
変数はセレクターの中で宣言します(一般的には:rootを使います。こうするとページ内のどこでも変数を使えるため、グローバルと呼ばれます)。構文は次のとおりです。

:root {
 --main-color: midnightblue;
 --padding: 16px;
}

変数に格納された値を使うには、var() 関数を使います。

.button {
  background-color: var(--main-color);
  padding: var(--padding);
}
challenge icon

チャレンジ

簡単

映画館で上映中の映画がいくつか表示されているウェブページがあります。各映画にはチケットを購入ボタンがあります。

あなたの課題:

  1. :rootセレクター内に--main-colorというCSS変数を作成し、その値をseagreenに設定します。
  2. その変数を使って、ページ上のすべての<button>要素の背景色を設定します。

自分で試してみよう

<html>
<head>
    <title>How to declare a variable</title>
    <style>
        :root {
            --bg-color: #4c87f5;
             /* Write CSS rules here */
             
          }
        body {
            font-family: Arial, sans-serif;
            background: var(--bg-color);
            padding: 20px;
          }
        .movie {
            background: white;
            padding: 15px;
            margin-bottom: 15px;
            border-radius: 8px;
          }
        .movie h2 {
            margin: 0 0 10px;
          }
        .movie p {
            margin: 0 0 10px;
          }
        button {
            color: black;
            border: none;
            padding: 8px 12px;
            border-radius: 4px;
            cursor: pointer;
             /* Write CSS rules here */
            
          }
    </style>
</head>
<body>
    <h1>Today's Movies</h1>
    <div class="movie">
      <h2>Ocean Whispers</h2>
      <p>A sailor discovers a hidden island and the secrets of the sea.</p>
      <button>Buy Ticket</button>
    </div>
    
    <div class="movie">
      <h2>Midnight Chase</h2>
      <p>A detective races against the clock to stop a mysterious heist.</p>
      <button>Buy Ticket</button>
    </div>
    
    <div class="movie">
      <h2>Starlight Bakery</h2>
      <p>A warm comedy about friendship and following your dreams.</p>
      <button>Buy Ticket</button>
</div>
</body>
</html>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

実践的フロントエンドのすべてのレッスン

自分で練習してみよう: Webプレイグラウンド