カラー
Ionicには、多くのコンポーネントの色を変更するために使用できる9つのデフォルトの色があります。各色は、Ionic全体で使用されるshade
とtint
を含む複数のプロパティのコレクションです。
color
属性を使用して、Ionicコンポーネントに色を適用してデフォルトの色を変更できます。下のボタンでは、設定されたcolor
に基づいてテキストと背景が変化することに注意してください。ボタンにcolor
が設定されていない場合、デフォルトでprimary
色が使用されます。
<ion-button>Default</ion-button>
<ion-button color="primary">Primary</ion-button>
<ion-button color="secondary">Secondary</ion-button>
<ion-button color="tertiary">Tertiary</ion-button>
<ion-button color="success">Success</ion-button>
<ion-button color="warning">Warning</ion-button>
<ion-button color="danger">Danger</ion-button>
<ion-button color="light">Light</ion-button>
<ion-button color="medium">Medium</ion-button>
<ion-button color="dark">Dark</ion-button>
階層化されたカラー
各色は、base
、contrast
、shade
、tint
というプロパティで構成されます。base
とcontrast
の色には、rgb形式の色と同じrgb
プロパティも必要です。rgb
プロパティが必要な理由については、アルファ問題を参照してください。以下のドロップダウンから選択して、Ionicが提供するすべてのデフォルトカラーとそのバリエーションを確認してください。
名前 | プロパティ | デフォルト値 | 説明 |
---|
色の変更
色のデフォルト値を変更するには、その色のリストされているすべてのバリエーションを設定する必要があります。たとえば、セカンダリの色を#006600
に変更するには、次のCSSプロパティを設定します。
:root {
--ion-color-secondary: #006600;
--ion-color-secondary-rgb: 0, 102, 0;
--ion-color-secondary-contrast: #ffffff;
--ion-color-secondary-contrast-rgb: 255, 255, 255;
--ion-color-secondary-shade: #005a00;
--ion-color-secondary-tint: #1a751a;
}
ボタンにsecondary
が適用されると、ベースカラー#006600
だけでなく、テキストにはコントラストカラー#ffffff
が、ボタンのさまざまな状態にはシェード#005a00
とティント#1a751a
の色が使用されます。
ベースカラーからバリエーションカラーを取得する方法がわからない場合、すべてのバリエーションを計算し、アプリにコピーアンドペーストできるコードを提供するカラージェネレーターを試してみてください!
CSS変数に関する詳細については、CSS変数のドキュメントを参照してください。
カラーの追加
Ionicコンポーネントにcolor
プロパティを設定するか、CSSでスタイル設定することで、アプリケーション全体で使用するために色を追加できます。新しい色を手動で追加する方法、または下記の新しいカラークリエーターを使用して新しい色のコードをすばやく生成し、アプリケーションにコピーアンドペーストする方法については、以下をお読みください。
新しい色を追加するには、まずルートでその色のすべてのバリエーションのCSS変数を定義します。たとえば、favorite
という新しい色を追加するには、次の変数を定義できます。
:root {
--ion-color-favorite: #69bb7b;
--ion-color-favorite-rgb: 105, 187, 123;
--ion-color-favorite-contrast: #ffffff;
--ion-color-favorite-contrast-rgb: 255, 255, 255;
--ion-color-favorite-shade: #5ca56c;
--ion-color-favorite-tint: #78c288;
}
次に、これらのCSS変数を使用する新しいクラスを作成します。クラスは.ion-color-{COLOR}
の形式で記述する必要があり、{COLOR}
は追加する色の名前です。
.ion-color-favorite {
--ion-color-base: var(--ion-color-favorite);
--ion-color-base-rgb: var(--ion-color-favorite-rgb);
--ion-color-contrast: var(--ion-color-favorite-contrast);
--ion-color-contrast-rgb: var(--ion-color-favorite-contrast-rgb);
--ion-color-shade: var(--ion-color-favorite-shade);
--ion-color-tint: var(--ion-color-favorite-tint);
}
クラスを追加したら、color
プロパティをサポートする任意のIonicコンポーネントでその色を使用できます。Ionicボタンでfavorite
色を使用する例を以下に示します。
<ion-button color="favorite">Favorite</ion-button>
ルートで定義されたCSS変数は、CSSを使用して任意の要素のスタイル設定にも使用できます。
div {
background: var(--ion-color-favorite);
color: var(--ion-color-favorite-contrast);
}
CSS変数の設定と使用方法の詳細については、CSS変数のドキュメントを参照してください。
新しいカラークリエーター
以下で、名前と値を変更して新しい色を作成し、以下のコードをプロジェクトにコピーアンドペーストします。
:root {
--ion-color-new: #69bb7b
;
--ion-color-new-rgb: 105,187,123
;
--ion-color-new-contrast: #000000
;
--ion-color-new-contrast-rgb: 0,0,0
;
--ion-color-new-shade: #5ca56c
;
--ion-color-new-tint: #78c288
;
}
.ion-color-new {
--ion-color-base: var(--ion-color-new);
--ion-color-base-rgb: var(--ion-color-new-rgb);
--ion-color-contrast: var(--ion-color-new-contrast);
--ion-color-contrast-rgb: var(--ion-color-new-contrast-rgb);
--ion-color-shade: var(--ion-color-new-shade);
--ion-color-tint: var(--ion-color-new-tint);
}