ページレイアウト

PageLayoutコンポーネントは、ヘッダー、ナビゲーション、ボディ、フッターの4つの領域からなる構造化されたCSSグリッドレイアウトを提供します。ポータル全体で一貫したページ構造を作成するために使われます。

レイアウトエリア

レイアウトは以下の領域を持つCSSグリッドを使用しています。

  • Header — 上部は幅全体にまたがっています。通常、保存・更新ボタンやページタイトル付きの MenuBar が含まれています。
  • Navigation — ヘッダーの左列。サイドナビゲーションメニューに使用。巻物は本文とは独立して書かれます。
  • Body — メインコンテンツエリア。独立してスクロールし、自動的にパディングを受け取る。
  • Footer — 下の幅が全幅にわたっている。通常、著作権やステータスに関する情報が含まれています。
React Blazor

トグル領域

各エリアは HeaderVisible、 NavigationVisible、 FooterVisible のパラメータを使って表示または隠すことができます。非表示になると、そのエリアはグリッドレイアウトから完全に消されます。

React Blazor

スタイリング

各領域はカスタムスタイリング用の Class パラメータと Style パラメータ(例: HeaderClass、 HeaderStyle、 BodyClass、 BodyStyleなど)の両方をサポートしています。最上層コンテナは Class と Styleもサポートしています。

React Blazor

ネストレイアウト

PageLayoutを別のPageLayoutのBodyの中に入れ子にしてサブページレイアウトを作成することができます。子レイアウトは親を自動で検出し、ヘッダーの枠取りスタイリングを減らしたchild-layoutCSSクラスを適用します。

React Blazor

スクロールの挙動

本文部分はヘッダーやフッターとは独立してスクロールし、固定されています。ページ間を移動する際、本文は自動的にスクロールして上部に向かいます。ナビゲーションエリアも独立してスクロールします。

電話画面

768pxより狭い画面では、本文の横にナビゲーションのスペースがありません。Reactでは、 PageLayout がこれを処理します。ナビゲーションはヘッダーの最後にメニューボタンで置き換えられ、リンクをたどると閉じる引き出しで開きます。 collapseNavigationOnMobile={false} をサイドナビゲーションに設定してください。Blazorでは、レイアウトが選択します:プロジェクトテンプレートがワイドスクリーンの Navigation エリアにナビゲーションを配置し、狭い画面では引き出しにメニューボタンを追加します。

例

以下の例は、4つの地域すべてが人口を持つ PageLayout を示しています。

Reactの例 ブレイザーの例 React TypeScript Razor

設定オプション

以下の操作で各エリアの可視性を切り替え、サイズ調整可能なナビゲーション動作を調整してください。スプリッターのオン/オフ、localStorageの永続性のオフ、デフォルトのドラッグ幅/最小幅/最大幅の調整です。ナビゲーション/ボディ境界のハンドルをドラッグしてサイズを変えるか、ダブルクリックでデフォルトの幅にリセットします。

Reactの例 ブレイザーの例 React TypeScript Razor
反応してください ブレイザー

PageLayout クラス

パラメータ

名称
種類
デフォルト
概要
BodyRenderFragment?
コンテンツはメインボディ領域にレンダリングされます。ここが主要なコンテンツ領域であり、独立してスクロールされます ヘッダー、フッター、ナビゲーションから。パディングは自動的に適用されます。
BodyClassstring?
CSSクラスは身体要素に適用されました。
BodyStylestring?
ボディ要素にはインラインCSSスタイルが適用されました。
DefaultNavigationWidthint
280
ナビゲーション幅(px)は、ユーザーがリサイズ前およびダブルクリックリセット時に使用します。 デフォルトは 280です。
EnableNavigationResizingbool
True
真の場合、ナビゲーション/ボディ境界のドラッグハンドルを使うと、ユーザーは ナビゲーション欄のサイズをリサイズしてください。デフォルトはtrueです。効果はありません PageLayout.NavigationVisibleは偽またはナビゲーションスロットが空である場合、 そしてハンドルはモバイルで無効化されます(ナビゲーションがビューポートに戻る場合、 相対幅)を組み合わせて。ハンドルをダブルクリックしてリセットしてください PageLayout.DefaultNavigationWidth。
FooterRenderFragment?
レイアウトの下部のフッターエリアにレンダリングされたコンテンツ。フッターは幅全体にまたがっています そして、体がスクロールしている間は固定されたままです。通常は著作権通知やステータス情報が含まれています。
FooterClassstring?
CSSクラスはフッター要素に適用されました。
FooterStylestring?
フッター要素にインラインCSSスタイルを適用しました。
FooterVisiblebool
True
フッターエリアがレンダリングされるかどうかを制御します。 falseに設定するとフッターは削除されます グリッドレイアウトから完全に見せて。デフォルトは trueです。
HeaderRenderFragment?
レイアウト上部のヘッダーエリアにレンダリングされたコンテンツ。通常、 メニューバー を含みます。 保存・更新ボタン、パンくず、またはページタイトル。ヘッダーは幅全体をカバーし、そのままです 体がスクロールしている間に固定されている。
HeaderClassstring?
CSSクラスはヘッダー要素に適用されました。これを使って背景色や境界線などのカスタムスタイリングを適用できます。
HeaderStylestring?
ヘッダー要素にはインラインCSSスタイルが適用されます。
HeaderVisiblebool
True
ヘッダーエリアがレンダリングされるかどうかを制御します。 falseに設定すると、ヘッダーは削除されます グリッドレイアウトから完全に離れ、ボディが空間を満たすために拡張します。デフォルトは trueです。
MaxNavigationWidthint
480
ナビゲーションカラムがこれまでに最大に成長するpx単位で最大になります。デフォルトは 480です。 統一キャップ: PageLayout.EnableNavigationResizing オンのとき、これは ユーザーがスプリッターをドラッグできる上限;電源が切れているときは、 要素の 最大幅。モバイル(≤767.97pxのビューポート)は依然としてフォールバックします ビューポート相対上限を設けて、480pxのデフォルトが360pxの電話をオーバーオーバーしないようにしています。
MinNavigationWidthint
200
ナビゲーションをドラッグできる最小のpx。デフォルトは 200です。
NavigationRenderFragment?
内容は本文の左側にあるナビゲーションエリアにレンダリングされます。巻物は本文とは独立して書かれます。 通常、サイドナビゲーション用の FluentNavMenu を搭載しています。ナビゲーションエリアは内容に合わせてサイズが変わります 幅はビューポート幅の最大35%までです。
NavigationClassstring?
CSSクラスはナビゲーション要素に適用されました。
NavigationResizeHandleLabelstring
Resize navigation
リサイズハンドルのアクセス可能なラベル( role='separator'でレンダリング)。 デフォルトは 「ナビゲーションのサイズ変更」です。
NavigationResizeStorageKeystring
ppp-page-layout-nav-width
localStorage キーの選択されたナビゲーション幅は 以下に保持されます。デフォルト 「PPP-ページ-レイアウト-ナビ幅」。複数のレイアウトがある場合は、それぞれのキーを別々に設定してください サイズ調整可能なLayout.PageLayoutを表示できます。無視された時 PageLayout.PersistNavigationWidthは誤りです。
NavigationStylestring?
ナビゲーション要素にはインラインCSSスタイルが適用されました。
NavigationVisiblebool
True
ナビゲーションエリアがレンダリングされるかどうかを制御します。 falseに設定するとナビゲーションは削除されます グリッドレイアウトから車体が全幅まで拡大します。デフォルトは trueです。
PersistNavigationWidthbool
True
true(デフォルト)の場合、ユーザーがドラッグするナビゲーション幅は localStorage に永続化PageLayout.NavigationResizeStorageKey その後のロードで復元されました。すべてのページを読み込むためにfalseに設定してください PageLayout.DefaultNavigationWidthで新たに始めましょう。意味があるのは、 PageLayout.EnableNavigationResizingそれは事実です。
ValidationSummaryVisiblebool
True
検証要約が表示されるかどうかを制御します。デフォルトは trueです。
名称: Body
種類: RenderFragment?
概要: コンテンツはメインボディ領域にレンダリングされます。ここが主要なコンテンツ領域であり、独立してスクロールされます ヘッダー、フッター、ナビゲーションから。パディングは自動的に適用されます。
名称: BodyClass
種類: string?
概要: CSSクラスは身体要素に適用されました。
名称: BodyStyle
種類: string?
概要: ボディ要素にはインラインCSSスタイルが適用されました。
名称: DefaultNavigationWidth
種類: int
デフォルト: 280
概要: ナビゲーション幅(px)は、ユーザーがリサイズ前およびダブルクリックリセット時に使用します。 デフォルトは 280です。
名称: EnableNavigationResizing
種類: bool
デフォルト: True
概要: 真の場合、ナビゲーション/ボディ境界のドラッグハンドルを使うと、ユーザーは ナビゲーション欄のサイズをリサイズしてください。デフォルトはtrueです。効果はありません PageLayout.NavigationVisibleは偽またはナビゲーションスロットが空である場合、 そしてハンドルはモバイルで無効化されます(ナビゲーションがビューポートに戻る場合、 相対幅)を組み合わせて。ハンドルをダブルクリックしてリセットしてください PageLayout.DefaultNavigationWidth。
名称: Footer
種類: RenderFragment?
概要: レイアウトの下部のフッターエリアにレンダリングされたコンテンツ。フッターは幅全体にまたがっています そして、体がスクロールしている間は固定されたままです。通常は著作権通知やステータス情報が含まれています。
名称: FooterClass
種類: string?
概要: CSSクラスはフッター要素に適用されました。
名称: FooterStyle
種類: string?
概要: フッター要素にインラインCSSスタイルを適用しました。
名称: FooterVisible
種類: bool
デフォルト: True
概要: フッターエリアがレンダリングされるかどうかを制御します。 falseに設定するとフッターは削除されます グリッドレイアウトから完全に見せて。デフォルトは trueです。
名称: Header
種類: RenderFragment?
概要: レイアウト上部のヘッダーエリアにレンダリングされたコンテンツ。通常、 メニューバー を含みます。 保存・更新ボタン、パンくず、またはページタイトル。ヘッダーは幅全体をカバーし、そのままです 体がスクロールしている間に固定されている。
名称: HeaderClass
種類: string?
概要: CSSクラスはヘッダー要素に適用されました。これを使って背景色や境界線などのカスタムスタイリングを適用できます。
名称: HeaderStyle
種類: string?
概要: ヘッダー要素にはインラインCSSスタイルが適用されます。
名称: HeaderVisible
種類: bool
デフォルト: True
概要: ヘッダーエリアがレンダリングされるかどうかを制御します。 falseに設定すると、ヘッダーは削除されます グリッドレイアウトから完全に離れ、ボディが空間を満たすために拡張します。デフォルトは trueです。
名称: MaxNavigationWidth
種類: int
デフォルト: 480
概要: ナビゲーションカラムがこれまでに最大に成長するpx単位で最大になります。デフォルトは 480です。 統一キャップ: PageLayout.EnableNavigationResizing オンのとき、これは ユーザーがスプリッターをドラッグできる上限;電源が切れているときは、 要素の 最大幅。モバイル(≤767.97pxのビューポート)は依然としてフォールバックします ビューポート相対上限を設けて、480pxのデフォルトが360pxの電話をオーバーオーバーしないようにしています。
名称: MinNavigationWidth
種類: int
デフォルト: 200
概要: ナビゲーションをドラッグできる最小のpx。デフォルトは 200です。
名称: Navigation
種類: RenderFragment?
概要: 内容は本文の左側にあるナビゲーションエリアにレンダリングされます。巻物は本文とは独立して書かれます。 通常、サイドナビゲーション用の FluentNavMenu を搭載しています。ナビゲーションエリアは内容に合わせてサイズが変わります 幅はビューポート幅の最大35%までです。
名称: NavigationClass
種類: string?
概要: CSSクラスはナビゲーション要素に適用されました。
名称: NavigationResizeHandleLabel
種類: string
デフォルト: Resize navigation
概要: リサイズハンドルのアクセス可能なラベル( role='separator'でレンダリング)。 デフォルトは 「ナビゲーションのサイズ変更」です。
名称: NavigationResizeStorageKey
種類: string
デフォルト: ppp-page-layout-nav-width
概要: localStorage キーの選択されたナビゲーション幅は 以下に保持されます。デフォルト 「PPP-ページ-レイアウト-ナビ幅」。複数のレイアウトがある場合は、それぞれのキーを別々に設定してください サイズ調整可能なLayout.PageLayoutを表示できます。無視された時 PageLayout.PersistNavigationWidthは誤りです。
名称: NavigationStyle
種類: string?
概要: ナビゲーション要素にはインラインCSSスタイルが適用されました。
名称: NavigationVisible
種類: bool
デフォルト: True
概要: ナビゲーションエリアがレンダリングされるかどうかを制御します。 falseに設定するとナビゲーションは削除されます グリッドレイアウトから車体が全幅まで拡大します。デフォルトは trueです。
名称: PersistNavigationWidth
種類: bool
デフォルト: True
概要: true(デフォルト)の場合、ユーザーがドラッグするナビゲーション幅は localStorage に永続化PageLayout.NavigationResizeStorageKey その後のロードで復元されました。すべてのページを読み込むためにfalseに設定してください PageLayout.DefaultNavigationWidthで新たに始めましょう。意味があるのは、 PageLayout.EnableNavigationResizingそれは事実です。
名称: ValidationSummaryVisible
種類: bool
デフォルト: True
概要: 検証要約が表示されるかどうかを制御します。デフォルトは trueです。