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 トップアプリバー
関数
独立パッケージ

NavigationBarボトムナビゲーションバー

ナビゲーションバーは、モバイル端末の画面上でいくつかの主要なページ間を簡単に切り替えるために使用されます。

使用方法

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

import 'mdui/components/navigation-bar.js';
import 'mdui/components/navigation-bar-item.js';

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

import type { NavigationBar } from 'mdui/components/navigation-bar.js';
import type { NavigationBarItem } from 'mdui/components/navigation-bar-item.js';

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

Item 1 Item 2 Item 3
<mdui-navigation-bar value="item-1" style="position: relative">
  <mdui-navigation-bar-item icon="place" value="item-1">Item 1</mdui-navigation-bar-item>
  <mdui-navigation-bar-item icon="commute" value="item-2">Item 2</mdui-navigation-bar-item>
  <mdui-navigation-bar-item icon="people" value="item-3">Item 3</mdui-navigation-bar-item>
</mdui-navigation-bar>

注意事項:

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

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

テキストラベルの表示状態

ナビゲーションバーのテキストラベルは、デフォルトではナビゲーション項目が 3 つ以下の場合に常に表示されます。ナビゲーション項目が 3 つより多い場合、選択状態のテキストのみが表示されます。

<mdui-navigation-bar> コンポーネントに label-visibility 属性を設定することで、テキストラベルの表示状態を調整できます。使用可能な値は以下の通りです:

  • selected:選択状態のテキストのみ表示
  • labeled:常にテキストを表示
  • unlabeled:常にテキストを表示しない

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

デフォルトでは、ナビゲーションバーは現在のウィンドウを基準にしてページの下部に表示されます。

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

スクロール時に非表示

<mdui-navigation-bar> コンポーネントに scroll-behavior 属性を hide に設定することで、ページを下にスクロールした時にナビゲーションバーを非表示にし、上にスクロールした時に表示するようにできます。

scroll-threshold 属性を使用して、スクロールが何ピクセル進んだらナビゲーションバーを非表示にし始めるかを設定できます。

アイコン

<mdui-navigation-bar-item> コンポーネントでは、icon 属性は未アクティブ状態のナビゲーション項目アイコンを設定し、active-icon 属性はアクティブ状態のナビゲーション項目アイコンを設定します。iconactive-icon スロットを使用して未アクティブ状態とアクティブ状態のアイコン要素を設定することもできます。

<mdui-navigation-bar-item> コンポーネントに href 属性を設定すると、ナビゲーション項目をリンクにできます。この場合、リンク関連の属性 downloadtargetrel も使用できます。

バッジ

<mdui-navigation-bar-item> コンポーネントでは、badge スロットを使用してバッジを追加できます。

HTML 属性JavaScript プロパティReflectデフォルト値

非アクティブ状態のMaterial Iconsアイコン名です。slot="icon" で設定することもできます。

アクティブ状態のMaterial Iconsアイコン名です。slot="active-icon" で設定することもできます。

ナビゲーションアイテムの値です。

リンク先のURLです。

この属性を設定すると、コンポーネント内部は <a> 要素としてレンダリングされ、リンク関連の属性が使用可能になります。

ダウンロードリンクの対象ファイル名です。

href 属性が設定されている場合にのみ有効です。

リンクの開き方です。次の値を指定します:

  • _blank:新しいウィンドウで開く
  • _parent:親フレームで開く
  • _self:デフォルト。現在のフレームで開く
  • _top:最上位のウィンドウで開く

href 属性が設定されている場合にのみ有効です。

現在のドキュメントとリンク先ドキュメントの関係です。次の値を指定します:

  • alternate:現在のドキュメントの代替バージョン
  • author:現在のドキュメントまたは記事の作成者
  • bookmark:直近の祖先セクションへのパーマリンク
  • external:参照先ドキュメントが現在のサイトとは異なるサイトにあることを示します
  • help:関連するヘルプドキュメントへのリンク
  • license:現在のドキュメントのメインコンテンツが、参照先ファイルの著作権ライセンスの対象であることを示します
  • me:現在のドキュメントがリンク先コンテンツの所有者を表します
  • next:現在のドキュメントがシリーズの一部であり、参照先ドキュメントがシリーズの次のドキュメントです
  • nofollow:現在のドキュメントの作成者または発行者が、参照先ファイルを推奨していないことを示します
  • noreferrerReferer ヘッダーを含めません。noopener と同様の効果です
  • opener:ハイパーリンクが最上位のブラウジングコンテキストを作成する場合(つまり target 属性値が _blank)、補助ブラウジングコンテキストを作成します
  • prev:現在のドキュメントがシリーズの一部であり、参照先ドキュメントがシリーズの前のドキュメントです
  • search:現在のファイルとその関連ページを検索するために使用できるリソースへのリンクを提供します
  • tag:現在のドキュメントに適用されるタグ(指定されたアドレスで識別される)を提供します

href 属性が指定されている場合にのみ使用できます。

ページ読み込み完了後、自動的にフォーカスを取得するかどうかを指定します。

Tab キーによるフォーカス移動時の、要素の順序を指定します。

名前パラメーター戻り値

要素のマウスクリックをシミュレートします。

現在の要素にフォーカスを設定します。

オプションとして、以下のプロパティを持つオブジェクトを渡すことができます:

  • preventScroll:デフォルトでは、要素がフォーカスを取得すると、その要素がビュー内に表示されるようにページがスクロールします。ページのスクロールを防ぐには、このプロパティを true に設定します。

現在の要素からフォーカスを外します。

名前

フォーカスを取得したときに発生します。

フォーカスを失ったときに発生します。

名前

ナビゲーションアイテムのテキスト

アイコン

アクティブ状態のアイコン要素

バッジ

名前

ナビゲーションアイテムコンテナ

インジケーター

バッジ

アイコン

アクティブ状態のアイコン

ナビゲーションアイテムのテキスト

名前

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

HTML 属性JavaScript プロパティReflectデフォルト値

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

テキストラベルの表示状態です。次の値を指定します:

  • auto:オプションが3個以下の場合は常にテキストラベルを表示、オプションが3個より多い場合は選択状態のテキストラベルのみ表示
  • selected:選択状態でのみテキストラベルを表示
  • labeled:常にテキストラベルを表示
  • unlabeled:常にテキストラベルを非表示

現在選択されている <mdui-navigation-bar-item> の値です。

スクロール時の動作です。次の値を指定します:

  • hide:スクロール時に非表示

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

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

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

名前

値が変化したときに発生します。

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

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

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

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

名前

<mdui-navigation-bar-item> コンポーネント

名前

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

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

このページの目次