ページレイアウト

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

レイアウトエリア

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

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

トグル領域

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

React
Blazor

スタイリング

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

React
Blazor

ネストレイアウト

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

React
Blazor

スクロールの挙動

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

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

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

設定オプション

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

Reactの例
ブレイザーの例
ショーヘッダー? ナビゲーションを表示? ショーフッター? ナビゲーションリサイズを有効にする? ナビゲーション幅を維持できますか?
React TypeScript
Razor
反応してください ブレイザー

PageLayout クラス

パラメータ

名称
種類
デフォルト
概要
BodyRenderFragment?
BodyClassstring?
BodyStylestring?
DefaultNavigationWidthint
280
EnableNavigationResizingbool
True
FooterRenderFragment?
FooterClassstring?
FooterStylestring?
FooterVisiblebool
True
HeaderRenderFragment?
HeaderClassstring?
HeaderStylestring?
HeaderVisiblebool
True
MaxNavigationWidthint
480
MinNavigationWidthint
200
NavigationRenderFragment?
NavigationClassstring?
NavigationResizeHandleLabelstring
Resize navigation
NavigationResizeStorageKeystring
ppp-page-layout-nav-width
NavigationStylestring?
NavigationVisiblebool
True
PersistNavigationWidthbool
True
ValidationSummaryVisiblebool
True
名称: Body
種類: RenderFragment?
名称: BodyClass
種類: string?
名称: BodyStyle
種類: string?
名称: DefaultNavigationWidth
種類: int
デフォルト: 280
名称: EnableNavigationResizing
種類: bool
デフォルト: True
名称: Footer
種類: RenderFragment?
名称: FooterClass
種類: string?
名称: FooterStyle
種類: string?
名称: FooterVisible
種類: bool
デフォルト: True
名称: Header
種類: RenderFragment?
名称: HeaderClass
種類: string?
名称: HeaderStyle
種類: string?
名称: HeaderVisible
種類: bool
デフォルト: True
名称: MaxNavigationWidth
種類: int
デフォルト: 480
名称: MinNavigationWidth
種類: int
デフォルト: 200
名称: Navigation
種類: RenderFragment?
名称: NavigationClass
種類: string?
名称: NavigationResizeHandleLabel
種類: string
デフォルト: Resize navigation
名称: NavigationResizeStorageKey
種類: string
デフォルト: ppp-page-layout-nav-width
名称: NavigationStyle
種類: string?
名称: NavigationVisible
種類: bool
デフォルト: True
名称: PersistNavigationWidth
種類: bool
デフォルト: True
名称: ValidationSummaryVisible
種類: bool
デフォルト: True