エレベーション
エレベーションは、Document Object Model ツリーの間に境界線を描画し、機能のカプセル化を向上します。Sass テーマ ライブラリを使用してエレベーションのセットを作成できます。
概要
Ignite UI for Angular のエレベーションは、25 要素のマップとして宣言されています。各要素はキーと値のペアであり、キーはエレベーション レベル名 (0..24) であり、値は 3 つの box-shadow
宣言のリストです。シャドウの色を定義できる新しいエレベーションのセットを生成できます。さらに、エレベーション マップから特定のエレベーション レベルを取得するための関数を公開します。デフォルトでコンポーネント間で使用されるグローバル変数 $elevations
を公開します。エレベーションに関連する CSS 変数のドキュメントを読んでいない場合は、先に進む前にまず読んでおくことをお勧めします。
使用方法
次のセクションでは、カスタム エレベーションを作成および取得する方法を示します。
エレベーションの構成
デフォルトのエレベーション プリセットで使用されるカラーを変更するには、エレベーション プリセット モジュールを構成する必要があります。
// Define the 3 elevation colors
@use 'igniteui-theming/sass/elevations/presets' as * with(
$color-1: rgb(153, 191, 170), // Umbra
$color-2: rgb(92, 134, 141), // Penumbra
$color-3: rgb(92, 61, 70) // Ambient
);
@include elevations($material-elevations);
scss
エレベーションの取得
エレベーション マップからボックス シャドウのセットを取得するには、最大 2 つの引数 (エレベーション マップと必要なエレベーション レベル ) を elevation
関数に渡すことができます。指定されたレベルの 3 つのボックス シャドウのリストを返します。
デフォルトの $elevations
マップからエレベーションを取得する場合は、最初の引数を省略できます。
// Returns elevation 1 shadows
$elevation-1: elevation(1);
// Returns elevation 1 shadows
$my-elevation-1: elevation($name: 1);
scss
テーマへのエレベーションの渡し
いくつかのテーマ ミックスインを使用すると、エレベーション マップを渡すことができます。特に、theme
には、すべてのコンポーネント テーマのエレベーションを更新できる $elevations
という名前のパラメーターがあります。
すべてのコンポーネント テーマにカスタム エレベーションを使用するように強制します。
@include theme(
//...
$elevations: $my-elevations
);
scss
これに加えて、エレベーションを完全に無視する/使用しないようにテーマに指示できます。
@include theme(
//...
$elevations: $my-elevations,
$elevation: false // disables all elevations
);
scss
elevation
関数はボックス シャドウのリストを返すため、その関数の戻り値を使用して、コンポーネント テーマの特定のエレベーションのみを変更できます。
$card-theme: card-theme(
$resting-shadow: elevation(10)
);
@include css-vars($card-theme);
scss
elevation
関数を利用せずに、単純なボック スシャドウを渡すこともできます。
$card-theme: card-theme(
$resting-shadow: 0 10px 10px 10px #666
);
.my-card {
@include css-vars($card-theme);
}
scss
カスタム エレベーション
elevations
関数によって生成されたマテリアル デザイン ガイドライン (英語)に準拠していないエレベーション マップを作成することができます。カスタム エレベーション マップに少なくとも 25 のエレベーション レベルが含まれていることを確認してください。テーマが正しく構築することを期待しているエレベーション マップのシグネチャは次のとおりです:
// Omitted levels 2 through 23 for brevity
$elevations: (
0: box-shadow(...),
1: box-shadow(...),
...
24: box-shadow(...)
);
scss
エレベーション スキーマの宣言
エレベーション レベルは、テーマ スキーマの宣言でも使用されます。詳細については、ドキュメントのスキーマ セクションをご覧ください。
API リファレンス
その他のリソース
コミュニティに参加して新しいアイデアをご提案ください。