ナビゲーションバー
ナブバーとは、画面上部の固定された領域のことで、ページタイトルやナビゲーション要素を含んでいます。
ナブバーには「左」、「タイトル」、「右」の3つの主要パーツがあります。各パーツは任意のHTMLコンテンツを含むことができますが、以下のように使用することが推奨されます。
左パーツは、「バックリンク」、アイコン、または単一のテキストリンクで使用されるように設計されています。
タイトル部分は、ページタイトルやタブリンク(ボタン列/セグメントコントローラ)の表示に使用します。
右部分は、左部分と同様の用途です。
ナビバーのHTMLレイアウト
ナビバーのレイアウトは非常にシンプルでわかりやすいものです。
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">Left</div>
<div class="title">Page Title</div>
<div class="right">Right</div>
</div>
</div>
NavbarのTitle
要素は、最も低い幅の優先順位を持っており、ウィンドウの画面が3つの要素すべてに適合しない場合、Title部分はカットされることに注意してください。
そのため、Title
部分にプレーンテキストを使用すると、カットされる際に末尾に省略記号(...)が付きます。ただし、カスタム要素を使用している場合は、注意が必要です。
リンク付きナビバー
左や右の部分にリンクを追加するには、プレーンな <a>
タグに link
クラスを追加するだけです。
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a href="#" class="link">Left Link</a>
</div>
<div class="title">Page Title</div>
<div class="right">
<a href="#" class="link">Right Link</a>
</div>
</div>
</div>
複数のリンク
特別なことは何もありません。必要な部分に<a class="link">
を追加するだけです。
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a href="#" class="link">Left 1</a>
<a href="#" class="link">Left 2</a>
</div>
<div class="title">Page Title</div>
<div class="right">
<a href="#" class="link">Right 1</a>
</div>
</div>
</div>
アイコンとテキストのリンク
ここでちょっとした違いがあります。この場合、リンクのテキストを <span>
要素でラップする必要があります。これは、アイコンと "word "の間の適切なスペースと、アニメーションのために必要です。
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a href="#" class="link back">
<i class="icon icon-back"></i>
<span>Back</span>
</a>
</div>
<div class="title">Title</div>
<div class="right">
<a href="#" class="link">
<i class="icon another-icon"></i>
<span>Menu</span>
</a>
</div>
</div>
</div>
アイコンのみのリンク
アイコンとテキストのないリンクが必要な場合は、リンクに icon-only
クラスを追加する必要があります。このクラスを使用すると、リンクは固定サイズになるので、指で見逃すことはありません。
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a href="#" class="link icon-only">
<i class="icon icon-back"></i>
</a>
</div>
<div class="title">Title</div>
<div class="right">
<a href="#" class="link icon-only">
<i class="icon another-icon"></i>
</a>
</div>
</div>
</div>
透明ナビバー
この機能はFramework7のバージョン5.5.0から利用できます。
透過ナビバーは、透明な背景と透明なタイトルで表示され、ページをスクロールすると不透明になります。透過ナビバーを有効にするには、navbar
にnavbar-transparent
クラスを追加する必要があります。
<!-- 追加の "navbar-transparent "クラス -->
<div class="navbar navbar-transparent">
...
</div>
大きなタイトル
大きなタイトルのナビバーには、大きなタイトルテキストを持つ追加の「行」(または「バー」)があり、ページをスクロールすると折りたたまれます。これを大きくするには、navbar
に追加の navbar-large
クラスを追加し、さらに title-large
要素を追加する必要があります。
<!-- 追加の "navbar-large" クラス -->
<div class="navbar navbar-large">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<!-- ... -->
</div>
<!-- 大きなタイトルが折りたたまれたときには、通常のタイトルが表示されます。 -->
<div class="title">My App</div>
<div class="right">
<!-- ... -->
</div>
<!-- 大きなタイトル要素 -->
<div class="title-large">
<div class="title-large-text">My App</div>
</div>
</div>
</div>
大きな透明なタイトル
大きなタイトルのナビバーを「透明」にすることもできます。これを有効にすると、ページがスクロールするまで、ナビバーの背景とメインタイトルが隠されます。
大きなタイトルを透明にするには、navbar-transparent
クラスを追加する必要があります。
<!-- 追加の "navbar-transparent" クラス -->
<div class="navbar navbar-large navbar-transparent">
<div class="navbar-bg"></div>
<div class="navbar-inner">
...
</div>
</div>
テーマ別スタイリング
ios と
aurora テーマでは、ナビゲーションバーの下部に細いボーダーがあります。このボーダーを無効にするには、navbar 要素に
no-hairline` クラスを追加する必要があります。
<div class="navbar no-hairline">...</div>
mdテーマでは、Navbar には影があります。この影を無効にするには、navbar 要素に
no-shadow` クラスを追加する必要があります。
<div class="navbar no-shadow">...</div>
ナビバーの種類
それでは、DOM のどこに Navbar を配置するかを見てみましょう。Navbarの配置にはいくつかのルールがあります。
静的なナビバーのタイプ
静的な Navbar の位置は、おそらく最もまれにしか使用されないレイアウトタイプです。この場合、ナビバーはスクロール可能なページコンテンツの一部に過ぎません。
<div class="page">
<!-- スクロール可能なページコンテンツ -->
<div class="page-content">
<!-- 静的ナビバーの位置は、ページコンテンツの内側の最初の方になります。 -->
<div class="navbar">...</div>
...
</div>
</div>
固定ナビバータイプ
固定ナビバーもページの一部ですが、ページのスクロールに左右されず、常に画面上に表示されます。この場合、ページの直接の子でなければなりません。また、ページに固定ツールバーがある場合は、ツールバーよりも前に配置されなければなりません。
<div class="page">
<!-- 固定ナビバーは常に最初に表示されます。 -->
<div class="navbar">...</div>
<!-- 固定ツールバーは常にナビバーの後に配置されます。 -->
<div class="toolbar toolbar-bottom">...</div>
<!-- スクロール可能なページコンテンツ -->
<div class="page-content">
...
</div>
</div>
固定ナビバーは常にページの直接の子でなければならず、ツールバーよりも前になければなりません(このページで固定ツールバーが使用されている場合)。
共通のナビバータイプ
ビュー内のすべてのページに共通のナビバーが必要な場合は、このビューの直接の子であり、ビュー内のすべてのページよりも前になければなりません。
<div class="view">
<!-- ビュー共通ナビバー -->
<div class="navbar">...</div>
<!-- ページ -->
<div class="page">...</div>
</div>
全てのビューに共通のナビバーが必要な場合は、Views要素の直接の子であり、全てのビューの前になければなりません。
<div class="views tabs">
<!-- ビューの共通ナビバー -->
<div class="navbar">...</div>
<div class="view tab tab-active" id="tab-1">...</div>
<div class="view tab" id="tab-2">...</div>
...
</div>
共通ナビバーは、常にViews/Viewの直接の子でなければならず、ツールバーよりも前になければなりません(共通ツールバーが使用されている場合)。
ダイナミックナビバー
ダイナミックナビバーは、iOSテーマでのみサポートされています。
iOSテーマの素晴らしい機能の一つに、ダイナミックナビバーがあります。ダイナミックナビバーを有効にすると、ページ遷移時にナビバーの要素がスライドしたり、フェードしたり、スワイプバックしたりします。
この機能は、ナビバーがページの直接の子である「固定位置」のナビバーを使用している場合、デフォルトで有効になっています。
これを無効にするには、必要なビューの初期化時に iosDynamicNavbar: false
を渡すか、すべてのビューのグローバル app parametersに渡す必要があります。例えば、以下のようになります。
// グローバルに無効化
var app = new Framework7({
view: {
iosDynamicNavbar: false,
},
});
// 初期化時にビューに対してのみ無効にする
var mainView = app.views.create('.view-main', {
iosDynamicNavbar: false,
});
ダイナミックナビバー(iosDynamicNavbar
)を有効にすると、ナビバーのHTML要素はページから切り離され、ビューのHTML要素の下に移動することに注意してください。この場合、ページに関連するダイナミックナビバー要素にアクセスするには、app.navbar.getElByPage(pageEl)
methodを使用します。
ダイナミックナビバーのレイアウト
ダイナミックナビバーのレイアウトは、通常のナビバーと同じですが、唯一の違いは、ナビバーのパーツ(左、タイトル、右)に追加のクラスを追加して、このパーツに必要なトランジション効果の種類を伝えることができることです。
デフォルトでは(追加クラスがない場合)、各ナビバーパーツは"Fade"トランジション効果を持ちます。
Sliding`クラスをいずれかのNavbarパーツに追加すると、"Sliding"効果を持ちます。
navbar-inner
に
sliding` クラスを追加すると、すべての Navbar パーツが "Sliding" 効果を持つようになります。見た目を良くするために、異なるページを通して同じ Navbar パーツに同一のトランジションタイプを保つべきです。
<!-- 追加のクラスはなく、すべての要素はページ遷移時に「フェード」効果を持ちます。 -->
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a href="#" class="link">Home Left</a>
</div>
<div class="title">Home</div>
<div class="right">
<a href="#" class="link">Home Right</a>
</div>
</div>
</div>
<!-- TitleとLeftはページ遷移時に "sliding "効果を持ちます。 -->
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<!-- 追加の "スライディング "クラス -->
<div class="left sliding">
<a href="#" class="link">Home Left</a>
</div>
<!-- スライディング」クラスの追加 -->
<div class="title sliding">Home</div>
<div class="right">
<a href="#" class="link">Home Right</a>
</div>
</div>
</div>
<!-- すべてのパーツはページ遷移時に "sliding "効果を持つ -->
<div class="navbar">
<div class="navbar-bg"></div>
<!-- スライディングクラスの追加 -->
<div class="navbar-inner sliding">
<div class="left">
<a href="#" class="link">Home Left</a>
</div>
<div class="title">Home</div>
<div class="right">
<a href="#" class="link">Home Right</a>
</div>
</div>
</div>
ナンバーアプリのメソッド
Navbarには、以下のアプリメソッドが用意されています。
app.navbar.hide(navbarEl, animate, hideStatusbar) | ナビバーの非表示
|
app.navbar.show(navbarEl, animate) | ナビバーの表示
|
app.navbar.size(navbarEl) | Navbar要素のポジションスタイルを再計算します。Navbar要素の一部を動的に変更した場合などに便利です。
|
app.navbar.getElByPage(pageEl) | 指定されたページ要素ごとにナビバーのHTML要素を取得します。ダイナミックナビバーが有効な場合のみ有効です。この場合は、ページコンテナの外に出ます。
|
app.navbar.getPageByEl(navbarEl) | 指定されたnavbar要素のあるページのHTML要素を取得します。ダイナミックナビバーが有効な場合のみ有効です。この場合、navbarはページコンテナの外にあります。
|
app.navbar.collapseLargeTitle(navbarEl) | 大きなナビバーのタイトルを折りたたむ
|
app.navbar.expandLargeTitle(navbarEl) | 大きなナビバーのタイトルを展開
|
app.navbar.toggleLargeTitle(navbarEl) | 大きなナビバーのタイトルを切り替える
|
ナンバーアプリのパラメータ
navbar`パラメータにナビバー関連のパラメータを渡すことで、グローバルなapp parametersを使って、いくつかのデフォルトのナビバーの動作をコントロールすることができます。
Parameter | Type | Default | Description |
---|---|---|---|
hideOnPageScroll | boolean | false | ページをスクロールすると、ナビバーが非表示になります。 |
showOnPageScrollEnd | boolean | true | true`に設定すると、ページの最後までスクロールしたときに非表示のナビバーを表示します。 |
showOnPageScrollTop | boolean | true | false`に設定すると、ページを一番上までスクロールしたときに隠しナビバーが表示されなくなります。非表示のナビバーは、ページを一番上までスクロールしたときにのみ表示されます(ページの最初の方)。 |
scrollTopOnTitleClick | boolean | true | 有効にすると、ナビバーのタイトル要素をクリックするたびに、関連するページが最上部にスクロールします。 |
iosCenterTitle | boolean | true | 有効にすると、iOSテーマではタイトルを中央に配置しようとします。カスタムデザインの場合は、必要ない場合もあります。 |
mdCenterTitle | boolean | false | 有効にすると、MDテーマではタイトルを中央に配置しようとします。場合によっては(カスタムデザインの場合)必要ないかもしれません。 |
auroraCenterTitle | boolean | true | 有効にした場合、Auroraテーマではタイトルを中央に配置しようとします。必要ない場合もあります(デザインによっては)。 |
collapseLargeTitleOnScroll | boolean | true | 有効にすると、大きなタイトルは、ページのスクロールトップで折りたたまれ、ページのトップで再び展開されます。 |
snapPageScrollToLargeTitle | boolean | true | 有効にすると、ページスクロールをラージタイトルの折り畳み/展開位置にスナップさせるので、ラージタイトルの位置の真ん中でページスクロールを離れることができなくなります。collapseLargeTitleOnScroll` が有効な場合にのみ効果があります。 |
snapPageScrollToTransparentNavbar | boolean | true | これを有効にすると、ページスクロールを透明なナビバーのサイズに合わせてスナップさせるので、透明なナビバーの位置の途中でページスクロールを残すことができなくなります。 |
例:
var app = new Framework7({
navbar: {
hideOnPageScroll: true,
iosCenterTitle: false,
},
});
ページクラスでナビバーを制御する
Framework7では、追加のクラスを使用することで、特定のページや特定のページスクロールでのナビバーの非表示/表示を行うことができます。
ある特定のページでページスクロール時にナビバーを非表示にしたい場合は、そのページの <div class="page-content">
要素に追加クラスを使用します。
hide-bars-on-scroll
- to hide both Navbar and Toolbar on page scrollhide-navbar-on-scroll
- ページのスクロール時にナビゲーションバーを隠します。
特定のページでこの動作を無効にするには、以下の追加クラスを使用できます。
keep-bar-on-scroll
- ページスクロール時に、ナビゲーションバーとツールバーを維持します。keep-navbar-on-scroll
- ページスクロール時にナビゲーションバーを保持します。
例:
<div class="page">
<div class="navbar">
...
</div>
<!-- "hide-navbar-on-scroll" class to hide Navbar -->
<div class="page-content hide-navbar-on-scroll">
<div class="block">
<p>Scroll page down</p>
...
</div>
</div>
</div>
アプリのすべてのページ/ビューで共通の単一のナビバーがある場合、必要のない一部のページでナビバーを自動的に隠したり表示したりすることができます。
これを実現するために必要なのは、読み込まれたページに no-navbar
クラスを追加することです (<div class="page no-navbar">
)。
<!-- ページに「no-navbar」クラスが追加されます。 -->
<div class="page no-navbar">
<div class="page-content">
...
</div>
</div>
Navbarのイベント
Navbarは、Navbar要素(<div class="navbar">
)に対して以下のDOMイベントを、アプリのインスタンスに対してアプリイベントを発行します。
DOMイベント
Event | Target | Description |
---|---|---|
navbar:hide | Navbar <div class="navbar"> | Navbar が hidden になるとイベントが発生します。 |
navbar:show | Navbar <div class="navbar"> | Navbar が表示されたときにイベントが発生します。 |
navbar:collapse | Navbar <div class="navbar"> | タイトルが大きいナビバーが折りたたまれたとき(大きいナビバーから通常のナビバーになったとき)にイベントが発生します。 |
navbar:expand | Navbar <div class="navbar"> | 大きなタイトルのナビバーが拡張されたときに発生するイベント(通常のナビバーから大きなナビバーへ |
アプリのイベント
Event | Arguments | Description |
---|---|---|
navbarHide | (el) | ナビバーが非表示になるとイベントが発生する |
navbarShow | (el) | ナビバーが表示されたときにイベントが発生する |
navbarCollapse | (el) | 大きいタイトルのナビバーが折りたたまれたときにイベントが発生します(大きいナビバーから通常のナビバーに)。 |
navbarExpand | (el) | タイトルが大きいナビバーが拡張されたときにイベントが発生します(通常のナビバーから大きいナビバーへ |
CSS Variables
Below is the list of related CSS variables (CSS custom properties).
Note that commented variables are not specified by default and their values is what they fallback to in this case.
:root {
/*
--f7-navbar-bg-color: var(--f7-bars-bg-color);
--f7-navbar-bg-color-rgb: var(--f7-bars-bg-color-rgb);
--f7-navbar-bg-image: var(--f7-bars-bg-image);
--f7-navbar-border-color: var(--f7-bars-border-color);
--f7-navbar-link-color: var(--f7-bars-link-color);
--f7-navbar-text-color: var(--f7-bars-text-color);
*/
--f7-navbar-hide-show-transition-duration: 400ms;
--f7-navbar-title-line-height: 1.2;
--f7-navbar-title-font-size: inherit;
--f7-navbar-subtitle-text-align: inherit;
--f7-navbar-large-title-line-height: 1.2;
--f7-navbar-large-title-text-color: inherit;
--f7-navbar-large-title-padding-left: 16px;
--f7-navbar-large-title-padding-right: 16px;
}
.ios {
--f7-navbar-height: 44px;
--f7-navbar-tablet-height: 44px;
--f7-navbar-font-size: 17px;
--f7-navbar-inner-padding-left: 8px;
--f7-navbar-inner-padding-right: 8px;
--f7-navbar-title-font-weight: 600;
--f7-navbar-title-margin-left: 0;
--f7-navbar-title-margin-right: 0;
--f7-navbar-title-text-align: center;
--f7-navbar-subtitle-font-size: 10px;
--f7-navbar-subtitle-line-height: 1;
--f7-navbar-shadow-image: none;
--f7-navbar-large-title-height: 52px;
--f7-navbar-large-title-font-size: 34px;
--f7-navbar-large-title-font-weight: 700;
--f7-navbar-large-title-letter-spacing: -0.03em;
--f7-navbar-large-title-padding-vertical: 6px;
/*
--f7-navbar-link-height: var(--f7-navbar-height);
--f7-navbar-link-line-height: var(--f7-navbar-height);
*/
--f7-navbar-subtitle-text-color: rgba(0, 0, 0, 0.55);
}
.ios .theme-dark,
.ios.theme-dark {
--f7-navbar-subtitle-text-color: rgba(255, 255, 255, 0.55);
}
.md {
--f7-navbar-height: 56px;
--f7-navbar-tablet-height: 64px;
--f7-navbar-font-size: 20px;
--f7-navbar-inner-padding-left: 4px;
--f7-navbar-inner-padding-right: 4px;
--f7-navbar-title-font-weight: 500;
--f7-navbar-title-margin-left: 20px;
--f7-navbar-title-margin-right: 16px;
--f7-navbar-title-text-align: left;
--f7-navbar-subtitle-font-size: 14px;
--f7-navbar-subtitle-line-height: 1.2;
--f7-navbar-shadow-image: var(--f7-bars-shadow-bottom-image);
--f7-navbar-large-title-font-size: 34px;
--f7-navbar-large-title-height: 56px;
--f7-navbar-large-title-font-weight: 500;
--f7-navbar-large-title-letter-spacing: 0;
--f7-navbar-large-title-padding-vertical: 8px;
--f7-navbar-link-height: 48px;
--f7-navbar-link-line-height: 48px;
--f7-navbar-subtitle-text-color: rgba(0, 0, 0, 0.85);
}
.md .theme-dark,
.md.theme-dark {
--f7-navbar-subtitle-text-color: rgba(255, 255, 255, 0.85);
}
.aurora {
--f7-navbar-height: 56px;
--f7-navbar-tablet-height: 56px;
--f7-navbar-font-size: 18px;
--f7-navbar-inner-padding-left: 16px;
--f7-navbar-inner-padding-right: 16px;
--f7-navbar-title-font-weight: bold;
--f7-navbar-title-margin-left: 0;
--f7-navbar-title-margin-right: 0;
--f7-navbar-title-text-align: center;
--f7-navbar-subtitle-font-size: 14px;
--f7-navbar-subtitle-line-height: 1;
--f7-navbar-shadow-image: none;
--f7-navbar-large-title-height: 48px;
--f7-navbar-large-title-font-size: 28px;
--f7-navbar-large-title-font-weight: bold;
--f7-navbar-large-title-letter-spacing: 0;
--f7-navbar-large-title-padding-vertical: 7px;
--f7-navbar-link-height: auto;
--f7-navbar-link-line-height: inherit;
--f7-navbar-subtitle-text-color: rgba(0, 0, 0, 0.6);
}
.aurora .theme-dark,
.aurora.theme-dark {
--f7-navbar-subtitle-text-color: rgba(255, 255, 255, 0.5);
}
Examples
静的ナビバー
<template>
<div class="page no-navbar">
<div class="page-content">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Static Navbar</div>
<div class="right"></div>
</div>
</div>
<div class="block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
固定ナビバー
<template>
<div class="page">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Fixed Navbar</div>
</div>
</div>
<div class="page-content">
<div class="block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
透過型ナビバー
<template>
<div class="page">
<div class="navbar navbar-transparent">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Transparent Navbar</div>
</div>
</div>
<div class="page-content">
<div class="block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
大きいタイトル
<template>
<div class="page">
<div class="navbar navbar-large">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Large Title</div>
<div class="title-large">
<div class="title-large-text">Large Title</div>
</div>
</div>
</div>
<div class="page-content">
<div class="block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
大きな透明
<template>
<div class="page">
<div class="navbar navbar-large navbar-transparent">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Large Transparent</div>
<div class="title-large">
<div class="title-large-text">Large Transparent</div>
</div>
</div>
</div>
<div class="page-content">
<div class="block">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
ナビバーAPI
<template>
<div class="page">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Navbar API</div>
</div>
</div>
<div class="page-content">
<div class="block">
<p><a class="button button-raised button-fill" @click=${hideNavbar}>Hide Navbar</a></p>
<p><a class="button button-raised button-fill" @click=${showNavbar}>Show Navbar</a></p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>
<script>
export default (props, { $on, $f7 }) => {
let navbarEl;
const hideNavbar = () => {
$f7.navbar.hide(navbarEl);
}
const showNavbar = () => {
$f7.navbar.show(navbarEl);
}
$on('pageInit', (e, page) => {
navbarEl = $f7.navbar.getElByPage(page);
});
return $render;
}
</script>
スクロール時に隠す
<template>
<div class="page">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="left">
<a class="link back">
<i class="icon icon-back"></i>
<span class="if-not-md">Back</span>
</a>
</div>
<div class="title">Hide On Scroll</div>
</div>
</div>
<div class="page-content hide-navbar-on-scroll">
<div class="block">
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quos asperiores ut, odio numquam ab, qui,
alias adipisci in magni reiciendis reprehenderit. Labore esse quae ut tempore consequatur, reprehenderit
similique!</p>
<p>Quis omnis, quam maiores voluptates vero atque porro? Soluta modi dolore eum dolor iste eos perspiciatis vero
porro aliquam officia deleniti, cumque rem, consequatur, ea ipsa temporibus dicta architecto saepe.</p>
<p>Tempora eius, sit distinctio architecto repellat, rerum quae, eum suscipit aperiam libero beatae ut eveniet
ex labore illo! Labore illo harum voluptatum nulla ullam natus beatae iste tempora ut fugiat!</p>
<p>Veritatis vero quis ipsum explicabo beatae consequatur, deleniti, tenetur assumenda sit quisquam soluta,
possimus magnam nostrum animi hic sapiente sed laudantium similique quas labore, voluptatem eius aliquam.
Sunt, ad aliquam!</p>
<p>Animi iste, optio mollitia, sint hic neque sed, quis labore deserunt esse delectus fugit impedit qui
consequatur reiciendis quam. Totam tenetur, mollitia. Porro optio similique perspiciatis aliquam ipsam vel
reprehenderit!</p>
</div>
</div>
</div>
</template>