Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【HTML Living Standard】theme-color属性値の使い方

theme-color属性値の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

theme-colorプロパティは、ウェブページのユーザーインターフェース(UI)要素のテーマカラーを定義するために使用されるプロパティです。これはHTMLのメタデータの一つとして機能し、主にモバイルデバイスでのウェブページの表示に大きな影響を与えます。具体的には、ウェブページを開いた際に、モバイルブラウザのアドレスバーやタブ、または一部のオペレーティングシステム(OS)におけるタスクスイッチャーなどに表示される色を、ウェブサイトのブランドカラーやデザインテーマに合わせてカスタマイズすることができます。

このプロパティは、HTMLドキュメントの<head>セクション内に<meta>タグを用いて指定します。記述例としては、<meta name="theme-color" content="#FF0000">のように、name属性にtheme-colorを指定し、content属性に設定したい色を記述します。content属性には、CSSで有効な任意の色形式(例: 16進数カラーコード、RGB値、HSL値、名前付きカラーなど)を指定することが可能です。

theme-colorを設定することで、ウェブサイトはより一貫性のある、統一された視覚体験をユーザーに提供できます。これにより、ウェブサイトのプロフェッショナルな印象を高め、ユーザーエクスペリエンスを向上させることが期待できます。ただし、この設定はすべてのブラウザやOSで一律にサポートされるわけではなく、デバイスやブラウザのバージョンによって適用されるかどうかが異なります。しかし、現代の主要なモバイルブラウザでは広くサポートされており、ウェブサイトの視覚的な魅力を高めるための重要な要素の一つです。

公式リファレンス: <meta name="theme-color">

構文(syntax)

1<meta name="theme-color" content="#317EFB">

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

サンプルコード

HTMLのtheme-colorでブラウザUIをカスタマイズする

1<!DOCTYPE html>
2<html lang="ja">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>Theme Color Sample</title>
7    <!--
8        theme-color メタタグは、ブラウザのUI要素(例: モバイルブラウザのアドレスバーやタブの色)をカスタマイズします。
9        content属性には、設定したい色をCSSの色値(例: #RRGGBB, #RGB, named color)で指定します。
10        これは、主にモバイル環境でのユーザーエクスペリエンス向上を目的としています。
11    -->
12    <meta name="theme-color" content="#4285F4">
13</head>
14<body>
15    <h1>テーマカラーの設定例</h1>
16    <p>
17        このHTMLファイルでは、ブラウザのテーマカラーを青色(#4285F4)に設定しています。
18        モバイルデバイスのブラウザ(例: Android版Chrome)でこのページを開くと、
19        ブラウザのツールバーなどの色が設定された色に変わることを確認できます。
20    </p>
21</body>
22</html>

このHTMLのサンプルコードは、ウェブページのテーマカラーをブラウザに設定する方法を示しています。具体的には、<head>セクションに記述されている<meta name="theme-color" content="#4285F4">というタグがその役割を果たします。

name="theme-color"という属性は、ブラウザのユーザーインターフェース要素、例えばモバイルブラウザのアドレスバーやタブの色などを、ウェブページの表示に合わせてカスタマイズするためのメタデータであることを宣言します。そして、content="#4285F4"の部分で、実際に設定したい色をCSSの色値形式で指定しています。この例では、鮮やかな青色である#4285F4が指定されています。

この<meta>タグ自体は、プログラミング言語における関数のように特定の引数を受け取ったり、処理結果として戻り値を返したりするものではありません。その代わりに、content属性を通じて色情報を受け取り、ブラウザのUIに視覚的な影響を与えます。

主にモバイルデバイスでのウェブサイト表示において、ブラウザのツールバーなどの色をウェブサイトのブランドカラーやデザインに合わせることで、ユーザーにより統一感のある快適な体験を提供することを目的としています。この設定により、モバイル環境でこのページを開くと、ブラウザのツールバーなどが指定された青色に変化するのを確認できます。システムエンジニアを目指す上で、ユーザーエクスペリエンス向上のための基本的なウェブ設定の一つとして理解しておきましょう。

theme-colorメタタグは、主にモバイルブラウザのアドレスバーやタブなどのUI要素の色を設定するものです。ウェブページのコンテンツの色自体を変更するわけではありません。content属性には、#RRGGBB形式や色の名前など、CSSで有効な色値を正確に指定してください。無効な値を設定するとブラウザはデフォルトの色を使用します。この設定は全てのブラウザやOSで完全にサポートされているわけではなく、特にデスクトップ環境では効果が見られない場合が多いです。サイトのブランドカラーに合わせることで、ユーザーに統一感のある体験を提供できますが、設定が反映されない環境もあることを理解し、必須機能ではなく補足的な改善点として利用することが大切です。

HTMLでテーマカラーとダークモードを切り替える

1<!DOCTYPE html>
2<html lang="ja">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>テーマカラーとダークモードの例</title>
7
8    <!-- ブラウザのUI(アドレスバーなど)の色を設定します。 -->
9    <!-- prefers-color-scheme メディアクエリを使用して、ユーザーのシステム設定(ライト/ダークモード)に応じて色を切り替えます。 -->
10
11    <!-- ライトモード時のテーマカラーを白色に設定 -->
12    <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
13    <!-- ダークモード時のテーマカラーを濃い灰色に設定 -->
14    <meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)">
15
16    <style>
17        body {
18            font-family: sans-serif;
19            margin: 20px;
20            padding: 20px;
21            border-radius: 8px;
22            transition: background-color 0.3s ease, color 0.3s ease;
23        }
24
25        /* prefers-color-scheme を使用して、CSSでページの背景色と文字色も切り替えます。 */
26        @media (prefers-color-scheme: light) {
27            body {
28                background-color: #f0f0f0;
29                color: #333333;
30            }
31        }
32
33        @media (prefers-color-scheme: dark) {
34            body {
35                background-color: #333333;
36                color: #f0f0f0;
37            }
38        }
39
40        h1 {
41            text-align: center;
42            margin-bottom: 20px;
43        }
44
45        p {
46            line-height: 1.6;
47        }
48    </style>
49</head>
50<body>
51    <h1>テーマカラーとダークモードのデモ</h1>
52    <p>
53        このページでは、ブラウザのUI(アドレスバー、タブバーなど)に表示される「テーマカラー」を設定しています。
54        特に、ユーザーのシステム設定がライトモードかダークモードかに応じて、色が自動的に切り替わるように設定されています。
55    </p>
56    <p>
57        お使いのデバイスのOS設定で「ダークモード」と「ライトモード」を切り替えてみてください。
58        ブラウザのUI(特にスマートフォンブラウザのアドレスバーなど)の色が変化するはずです。
59        また、このページの背景色と文字色も同時に切り替わることを確認できます。
60    </p>
61</body>
62</html>

このHTMLサンプルコードは、ウェブページの見た目をカスタマイズする「テーマカラー」の設定方法と、ユーザーのシステム設定(ライトモードやダークモード)に合わせた色の自動切り替えについて示しています。

<meta name="theme-color" ...>というHTMLタグを使用することで、ウェブブラウザのUI、具体的にはアドレスバーやタブバーなどの色を制御できます。これにより、ウェブサイト全体に統一感のあるデザインを提供し、ユーザー体験を向上させることが可能です。

theme-colorという設定項目自体には、プログラミング言語の関数のような直接的な引数や戻り値はありません。代わりに、<meta>タグのcontent属性に設定したいカラーコード(例: #ffffff#1a1a1a)を指定します。

さらに、media属性を活用することで、ユーザーのデバイスが「ライトモード」か「ダークモード」かという設定を検知し、それぞれに応じたテーマカラーを適用できます。サンプルコードでは、(prefers-color-scheme: light)がライトモード時に、(prefers-color-scheme: dark)がダークモード時に特定のテーマカラーを適用するように記述されています。

また、このサンプルではCSSの@mediaルールも利用しており、ブラウザのUIだけでなく、ウェブページ自体の背景色や文字色もユーザーのシステム設定に合わせて自動的に切り替わるように設定されています。これにより、ブラウザのUIとページコンテンツの両方で一貫したライト/ダークモード体験を提供します。システム設定を切り替えることで、これらの色の変化を確認できます。

theme-color はウェブコンテンツではなく、ブラウザのユーザーインターフェース(アドレスバーなど)の色を設定するものです。複数の theme-color を指定する際は、media 属性でライトモードとダークモードの条件を明確に区別してください。これにより、ユーザーのOS設定に応じた適切な色が適用されます。prefers-color-scheme はシステム設定と連動するための標準的な方法ですが、すべてのブラウザやデバイスで完全にサポートされているわけではありませんのでご注意ください。また、ページの背景色や文字色もCSSの prefers-color-scheme メディアクエリを用いて連動させることで、一貫性のあるユーザー体験を提供できます。設定後は、特にスマートフォンブラウザで動作を確認することをお勧めします。

関連コンテンツ

関連IT用語

関連プログラミング言語