エレベーション
エレベーションは、Document Object Model ツリーの間に境界線を描画し、機能のカプセル化を向上します。Ignite UI for Angular でのエレベーションの実装は、マテリアル デザインでのエレベーションをモデルにしています。
概要
Ignite UI for Angular のシャドウは、25 のエレベーション レベルに基づいて深い階層を確立するためのマテリアル デザイン ガイドラインに厳密に従います。シャドウ キャストのサイズは、エレベーション レベル番号に関連しています。エレベーション レベル番号が高いほど、シャドウが大きくなります。Ignite UI for Angular のエレベーションは、CSS 変数として公開されます。各変数は、3 つの box-shadows
のセットを格納します。これらの box-shadows
は、実世界で観察されるシャドウのプロパティである本影、半影、および影要素を表します。
Ignite UI for Angular のマテリアル テーマのさまざまなコンポーネントで使用される静止エレベーションと、それに対応する CSS 変数名のリストを次に示します:
コンポーネント | デフォルト エレベーション レベル | CSS 変数 |
---|---|---|
banner, button, toast | 0 | --ig-elevation-0 |
badge, carousel buttons, search input | 1 | --ig-elevation-1 |
button group, contained button, card, grid, switch | 2 | --ig-elevation-2 |
navbar, snackbar | 4 | --ig-elevation-4 |
floating action button, | 6 | --ig-elevation-6 |
bottom navigation, ghost chip, dropdown | 8 | --ig-elevation-8 |
navdrawer | 16 | --ig-elevation-16 |
dialog | 24 | --ig-elevation-24 |
CSS 変数
列からわかるように、すべてのエレベーションは --ig-elevation-[level]
の形式で定義されています。前述のように、エレベーション レベル番号は 0 から 24 (両端を含む) になります。
使用方法
独自のコンポーネントでエレベーションの使用を開始するには、目的のレベルの変数名を参照するだけです。
.floaty-element {
box-shadow: var(--ig-elevation-6);
}
既存のコンポーネント テーマのエレベーションを変更することも同様に機能します。
[igxButton="contained"] {
--resting-shadow: var(--ig-elevation-4);
--hover-shadow: var(--ig-elevation-12);
--focus-shadow: var(--ig-elevation-12);
}
各コンポーネント テーマのドキュメントには、各状態で使用されるデフォルトのエレベーションがリストされています。エレベーションがリストされていない場合、コンポーネントは事前定義されたエレベーション レベルを使用しません。
エレベーションの定義
デフォルトのエレベーションの更新は、パレットの色の更新と同じように機能します。変数を別の値に再割り当てするだけです。エレベーションの場合、値が box-shadow
であることを確認してください。
例:
/* styles.css */
:root {
--ig-elevation-1: 0 2px 6px 0 rgba(0, 0, 0, .18);
--ig-elevation-2: 0 3px 9px 0 rgba(0, 0, 0, .24);
}
これで、エレベーション レベル 1 と 2 を使用するすべてのコンポーネントのシャドウが更新されます。
シャドウイング
特定のスコープに対してのみ、グローバルに設定されたエレベーションをシャドーイングすることができます。ボタン コンポーネントが静止状態にエレベーション レベル 2 を使用することはすでに見た通りです。レベル 2 は、カードおよびグリッド コンポーネントでも使用されます。したがって、3 つすべてのシャドウを変更するには、次のことを行う必要があります:
[igxButton="contained"],
igx-grid,
igx-card {
--ig-elevation-2: 0 3px 9px 0 rgba(0, 0, 0, .24);
}
これにより、Contained ボタンとカードの --resting-shadow
、およびグリッドの --grid-shadow
が、--ig-elevation-2
に割り当てられた値に設定されます。
エレベーションは、Sass を使用して、より強力な方法で作成および使用することもできます。詳細については、以下の関連トピックを参照してください。
その他のリソース
関連トピック:
コミュニティに参加して新しいアイデアをご提案ください。