CSS の設定と CSS フレームワークの適用⚓︎
AlesInfiny Maris OSS Edition は、特定の CSS フレームワークやコンポーネントライブラリーに依存していません。サンプルアプリケーションでは Fluent UI Blazor を使用していますが、プロジェクトの特性に応じた技術を選定してください。
Fluent UI Blazor⚓︎
Fluent UI Blazor は、 Microsoft が開発・提供する Fluent Design System( Fluent UI )に準拠した Blazor 向け UI コンポーネントライブラリです。これらのコンポーネントは Razor コンポーネントとして提供されるため、 HTML や CSS の記述量を抑えて画面を構築できます。
プロジェクトの作成 において、 Fluent Blazor Web アプリのテンプレートを使用して作成したプロジェクトには、既定で Fluent UI Blazor を使用するための設定が組み込まれています。
そのため、追加で設定することなく Fluent UI Blazor の UI コンポーネントを使用できます。 使用できるコンポーネントの一覧については、デモおよびドキュメント を参照してください。
CSS のバンドルと参照
Blazor Web アプリケーションでは、 CSS の分離 により、各コンポーネントに分離された CSS が、ビルド時には 1 つの CSS ファイルとしてバンドルされて出力されます。 たとえばプロジェクト名を AaaSubSystem にしてプロジェクトを作成し、 Debug 構成でビルドした場合、バンドル後の CSS ファイルは AaaSubSystem\obj\Debug\netxx.x\scopedcss\bundle\AaaSubSystem.styles.css に出力されます。 Fluent Blazor Web アプリのテンプレートでは、この CSS ファイルを読み込むように App.razor に設定が追加されています。
| プロジェクト名を AaaSubSystem に設定した App.razor のテンプレート | |
|---|---|
1 | |
CSS の分離⚓︎
Razor コンポーネントごとに CSS ファイルを紐づけて、 その CSS ファイルで定義したスタイルが紐づけたコンポーネントのレンダリング結果にだけ影響するように構成できます。これを CSS の分離( CSS isolation )と呼びます。
たとえば、 Error.razor コンポーネントに対して適用する場合、同じフォルダーに Error.razor.css という名称のスコープ付き CSS ファイルを作成することで、 CSS の分離が有効になります。設定例を下記に示します。
<プロジェクト>
└─ Components/
└─ Pages/
├─ Home.razor
├─ Error.razor
└─ Error.razor.css
この例の場合、 Razor コンポーネントと紐づくスコープ付き CSS ファイルは、 Visual Studio では以下の画像のようにセットで表示されます。

スコープ付き CSS ファイルは、ビルド時に CSS セレクターが書き換えられ、コンポーネントの HTML 要素に b-xxxxxxxxxx のようなスコープ属性名が自動付与されます。そして、それに一致する形で CSS も b-xxxxxxxxxx 付きのセレクターに変更されます。 この仕組みにより、スコープ付き CSS ファイルの実装時に同じ名称のセレクターを使用しても、スタイルの衝突を気にする必要がありません。
詳細については ASP.NET Core Blazor の CSS の分離 を参照してください。