MDUIDocs
llms.txt のリンクをコピーllms-full.txt のリンクをコピーMarkdown 形式でこのページを表示このページの内容について ChatGPT と相談するプロジェクトの完全なドキュメントについて ChatGPT と相談する
プリセットカラー
カスタムカラー
壁紙から色を抽出
壁紙を選択してください
開発ガイド
AI 補助開発
スタイル
フレームワークとの統合
コンポーネント
Avatar アバターBadge バッジBottomAppBar ボトムアプリバーButton ボタンButtonIcon アイコンボタンCard カードCheckbox チェックボックスChip チップCircularProgress 円形プログレスCollapse 折りたたみDialog ダイアログDivider 区切り線Dropdown ドロップダウンFab フローティングアクションボタンIcon アイコンLayout レイアウトLinearProgress 線形プログレスList リストMenu メニューNavigationBar ボトムナビゲーションバーNavigationDrawer ナビゲーションドロワーNavigationRail ナビゲーションレールRadio ラジオボタンRangeSlider レンジスライダーSelect セレクトSegmentedButton セグメントボタンSlider スライダーSnackbar スナックバーSwitch スイッチTabs タブTextField テキストフィールドTooltip ツールチップTopAppBar トップアプリバー
関数
独立パッケージ

TopAppBarトップアプリバー

トップアプリバーは、ページの上部に重要な情報と関連操作を表示し、ユーザーに明確なナビゲーションと便利な機能アクセスを提供します。

使用方法

コンポーネントを必要に応じてインポートします:

import 'mdui/components/top-app-bar.js';
import 'mdui/components/top-app-bar-title.js';

コンポーネントの TypeScript 型を必要に応じてインポートします:

import type { TopAppBar } from 'mdui/components/top-app-bar.js';
import type { TopAppBarTitle } from 'mdui/components/top-app-bar-title.js';

使用例:(例中の style="position: relative" はデモンストレーションのためだけのもので、実際の使用時はこのスタイルを削除してください。)

Title
<mdui-top-app-bar style="position: relative;">
  <mdui-button-icon icon="menu"></mdui-button-icon>
  <mdui-top-app-bar-title>Title</mdui-top-app-bar-title>
  <div style="flex-grow: 1"></div>
  <mdui-button-icon icon="more_vert"></mdui-button-icon>
</mdui-top-app-bar>

注意事項:

このコンポーネントはデフォルトで position: fixed を使用し、自動的に bodypadding-top スタイルを追加して、ページコンテンツがこのコンポーネントに隠れないようにします。

ただし、以下の 2 つの場合はデフォルトで position: absolute を使用します:

  1. scroll-target 属性が指定されている場合。この場合、scroll-target の要素に padding-top スタイルを追加します。
  2. <mdui-layout></mdui-layout> コンポーネント内にある場合。この場合、padding-top スタイルは追加されません。

指定されたコンテナ内に配置

デフォルトでは、トップアプリバーは現在のウィンドウを基準にしてページの上部に表示されます。

トップアプリバーを指定されたコンテナ内に配置したい場合は、<mdui-top-app-bar> コンポーネントに scroll-target 属性を指定します。その値は、スクロール可能なコンテンツのコンテナの CSS セレクタまたは DOM 要素とします。この場合、トップアプリバーは親要素を基準にして表示されます(親要素にスタイル position: relative; overflow: hidden を自分で追加する必要があります)。

形状

<mdui-top-app-bar> コンポーネントで variant 属性を使用することで、トップアプリバーの形状を設定できます。

ページスクロール時の動作

<mdui-top-app-bar> コンポーネントに scroll-behavior 属性を設定することで、ページスクロール時のトップアプリバーの動作を定義できます。複数の動作を同時に設定する場合は、スペースで区切ります。

スクロール動作には以下のものがあります:

  • hide:ページを下にスクロールするとトップアプリバーを非表示にし、上にスクロールすると表示します。
  • shrinkvariant 属性が medium または large の場合のみ有効です。ページを下にスクロールするとトップアプリバーを展開し、上にスクロールすると縮小します。
  • elevate:ページを下にスクロールするとトップアプリバーに影を追加し、ページがトップに戻ると影を削除します。

scroll-threshold 属性を使用して、スクロールが何ピクセル進んだらトップアプリバーのスクロール動作をトリガーし始めるかを設定できます。(注意、応答性を高めるため、elevate スクロール動作を使用する場合は、scroll-threshold 属性を設定しないでください。)

例:スクロール時に非表示

例:スクロール時に影を追加

例:スクロール時に縮小

例:スクロール時に縮小および影を追加

展開状態のテキスト

variant 属性が medium または large で、かつ scroll-behavior 属性が shrink のトップアプリバーでは、<mdui-top-app-bar-title> コンポーネントに label-large スロットを追加して、展開状態のテキストを設定できます。

mdui-top-app-bar-title API

Slots

名前
デフォルト

トップアプリバーのタイトルテキスト

label-large

展開状態のタイトルテキスト

CSS Parts

名前
label

タイトルテキスト

label-large

展開状態のタイトルテキスト

mdui-top-app-bar API

プロパティ

HTML 属性JavaScript プロパティReflectデフォルト値
variantvariant'center-aligned' | 'small' | 'medium' | 'large''small'

トップアプリバーの形状です。既定値は small です。次の値を指定します:

  • center-aligned:小型アプリバー。タイトルが中央揃え
  • small:小型アプリバー
  • medium:中型アプリバー
  • large:大型アプリバー
hidehidebooleanfalse

非表示にするかどうかを指定します。

shrinkshrinkbooleanfalse

variant="medium" または variant="large" の場合にのみ有効です。variant="small" のスタイルに縮小するかどうかを指定します。

scroll-behaviorscrollBehavior'hide' | 'shrink' | 'elevate'-

スクロール時の動作です。スペース区切りで複数の値を同時に使用できます。次の値があります:

  • hide:スクロール時に非表示
  • shrink:中型・大型アプリバーで使用可能。スクロール時に小型アプリバーのスタイルに縮小
  • elevate:スクロール時に影を追加
scroll-targetscrollTargetstring | HTMLElement | JQ<HTMLElement>-

スクロールイベントを監視する対象の要素です。値にはCSSセレクター、DOM要素、またはJQオブジェクトを指定します。デフォルトでは window のスクロールイベントを監視します。

scroll-thresholdscrollThresholdnumber-

スクロール動作を開始させるために必要なスクロール距離(px単位)です。

orderordernumber-

<mdui-layout>内における、このコンポーネントのレイアウト順序です。値が小さい順に並びます。デフォルトは 0 です。

イベント

名前
show

表示が開始される直前に発生するイベントです。event.preventDefault() を呼び出すことで表示をキャンセルできます。

shown

表示アニメーションが完了したときに発生するイベントです。

hide

非表示が開始される直前に発生するイベントです。event.preventDefault() を呼び出すことで非表示をキャンセルできます。

hidden

非表示アニメーションが完了したときに発生するイベントです。

Slots

名前
デフォルト

トップアプリバー内部の要素

CSS カスタムプロパティ

名前
--shape-corner

コンポーネントの角丸のサイズ。ピクセル値で直接指定できますが、デザイントークンを参照することをお勧めします。

--z-index

コンポーネントのCSS z-index

このページの目次