演習 - ブランディングに合わせたコンポーネントのスタイル設定
この演習では、Microsoft Graph ツールキット コンポーネントでカスタム CSS プロパティを使用してアプリケーションのスタイル設定を変更する方法について説明します。
始める前に
この演習の前提条件として、前の演習「属性を使用してコンポーネントの動作を変更する」を完了している必要があります。
ブランディングに合わせたログイン コンポーネントのスタイル設定
たとえば、ログイン コンポーネントのボタン コンテンツの外観を変更するとします。
index.html では、<head>
内の <style>
タグを使用してコンポーネントをカスタマイズすることができます。
<head>
<style>
</style>
</head>
ページの本文をカスタマイズするには、タグの間に を追加
body{}
します<style>
。 セレクター内で次の CSS プロパティをbody{}
使用します。-
background-color
テーマの背景色に従ってページの背景色を変更します -
color
テーマのテキストの色に従ってページのテキストの色を変更します
-
Login コンポーネントをカスタマイズするには、タグの間に を追加
mgt-login{}
します<style>
。 セレクター内で次の CSS プロパティをmgt-login{}
使用します。-
--login-button-padding
は、"ユーザーのメール" 要素内のスペースを変更します。 上下左右に均等にスペースを確保するために、30px
に定義します。 -
--login-signed-in-background
ボタンの背景色を に変更します。slategrey
-
--login-popup-text-color
は、ユーザー プロファイルのポップアップ フォントの色をslategrey
(スレートグレー) に変更します。
-
コンポーネントを
Agenda
カスタマイズするには、タグの間に を追加mgt-agenda{}
します<style>
。 セレクター内で次の CSS プロパティをmgt-agenda{}
使用します。-
--agenda-header-font-size
は、予定一覧ヘッダーのフォント サイズを24px
に変更します。 -
--agenda-event-padding
は、イベント内の間隔を20px
に修正します。 -
--agenda-event-background-color
は、イベントの背景色をslategrey
(スレートグレー) に変更します。 -
--agenda-event-box-shadow
は、イベントのボックス シャドウの色をgrey
(グレー) に変更します。
<head> <style> body { background-color: var(--fill-color); color: var(--neutral-foreground-rest); } mgt-login { --login-signed-in-background: slategrey; --login-button-padding: 30px; --login-popup-text-color: slategrey; } mgt-agenda { --agenda-header-font-size: 24px; --agenda-event-padding: 20px; --agenda-event-background-color: slategrey; --agenda-event-box-shadow: grey; } </style> </head>
-
テーマの色を切り替えるコンポーネントを追加しましょう。 index.html ファイルを開き、タグを
mgt-theme-toggle
タグに<body>
追加します。<html> <head> ... </head> <body> <mgt-theme-toggle></mgt-theme-toggle> ... </body> </html>
index.html ファイルの最終バージョンは、この例のように表示されます。
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/@microsoft/mgt@3/dist/bundle/mgt-loader.js"></script>
<style>
body {
background-color: var(--fill-color);
color: var(--neutral-foreground-rest);
}
mgt-login {
--login-signed-in-background: slategrey;
--login-button-padding: 30px;
--login-popup-text-color: slategrey;
}
mgt-agenda {
--agenda-header-font-size: 24px;
--agenda-event-padding: 20px;
--agenda-event-background-color: slategrey;
--agenda-event-box-shadow: grey;
}
</style>
</head>
<body>
<mgt-msal2-provider client-id="[Your-Client-ID]"></mgt-msal2-provider>
<mgt-theme-toggle></mgt-theme-toggle>
<mgt-login>
<template data-type="signed-in-button-content" >
<div>
{{personDetails.mail}}
</div>
</template>
</mgt-login>
<mgt-agenda class="agenda"
date="June 29, 2023"
days="3"
group-by-day>
</mgt-agenda>
</body>
</html>
ブラウザーでアプリをテストする
Visual Studio Code の場合、次のキーの組み合わせを押し、Live Server で検索します。
- Windows: CTRL+SHIFT+P
- macOS: COMMAND+SHIFT+P
Live Server を実行してアプリテストします。
ブラウザーを開き、
http://localhost:3000
に移動します。Microsoft 365 開発者アカウントでサインインします。 必要なアクセス許可に同意し、[同意する] を選択します。
テーマトグルを使用して、テーマをダークに切り替えます
最終的に、コンポーネントにダーク テーマが自動的に適用され、[サインイン済み] ボタンのスタイルが変更されていることがわかります。
全体として、Microsoft Graph ツールキット コンポーネントは、カスタマイズに関して柔軟に対応することができます。 カスタム CSS プロパティを使用してコンポーネントの外観を変更し、スタイルをアプリケーションのブランディングに合わせることができます。