ion-fab
Fabは、1つ以上のfabボタンを含むコンテナ要素です。それらはコンテンツと一緒にスクロールしない固定位置に配置されるべきです。Fabは1つのメインFabボタンを持つべきです。また、メインファブボタンがクリックされたときに表示される関連ボタンを含む1つ以上のfabリストを含むことができます。
基本的な使い方
List Side
fabリストコンポーネントのsideプロパティは、メインfabボタンと相対的に表示される場所を制御します。一つのfabは、sideの値が全て異なる限り、複数のfabリストを持つことができます。
ポジション
fabを固定位置に配置するためには、外側の content コンポーネントの fixed スロットに割り当てる必要があります。verticalとhorizontalのプロップを使用して、ビューポートでのfabの配置を制御します。edge`プロップは、アプリのヘッダーやフッターにfabボタンが重なるようにします。
セーフエリア
ion-headerコンポーネントやion-footerコンポーネントがない場合、fabはデバイスのノッチやステータスバー、その他のデバイスUIで覆われている可能性があります。このような場合、上下の safe area は考慮されません。これは --ion-safe-area-(dir)変数 を使って調整することができます。
verticalを"top"に設定したfabを ion-header なしで使用する場合は、上マージンを設定する必要があります:
ion-fab {
margin-top: var(--ion-safe-area-top, 0);
}
また、ion-footerなしでverticalを"bottom"に設定したfabを使用する場合は、下マージンを設定する必要があります:
ion-fab {
margin-bottom: var(--ion-safe-area-bottom, 0);
}
ion-header (vertical が "top" に設定されたファブの場合) または ion-footer (vertical が "bottom" に設定されたファブの場合) がある場合、ファブはヘッダまたはフッタからの相対位置に配置されるため、CSS の調整は必要ありません。
ボタンサイズ
メインファブボタンの size プロパティを "small" に設定すると、ミニサイズで描画されます。なお、このプロパティは内側のファブボタンで使用した場合は効果がありません。
テーマ
Colors
CSSカスタムプロパティ
CSS Shadow Parts
アクセシビリティ
ラベル
FABはアイコンのみを含むことができるため、開発者は各ion-fab-buttonインスタンスに aria-label を提供しなければなりません。このラベルがなければ、支援技術は各ボタンの目的を告知することができません。
プロパティ
activated
| Description | もし true ならば、ion-fab 内の ion-fab-button とすべての ion-fab-list の両方がアクティブになる。つまり、ion-fab-buttonはcloseアイコンになり、ion-fab-listは可視化される。 |
| Attribute | activated |
| Type | boolean |
| Default | false |
edge
| Description | trueの場合、verticalが"top"の場合はヘッダーの端に、"bottom"の場合はフッターの端にファブを表示します。 fixed slotと一緒に使用する必要があります。 |
| Attribute | edge |
| Type | boolean |
| Default | false |
horizontal
| Description | ビューポートでファブを水平に揃える場所。 |
| Attribute | horizontal |
| Type | "center" | "end" | "start" | undefined |
| Default | undefined |
vertical
| Description | ビューポートでファブを縦に並べる場所。 |
| Attribute | vertical |
| Type | "bottom" | "center" | "top" | undefined |
| Default | undefined |
イベント
No events available for this component.
メソッド
close
| Description | アクティブなFABリストコンテナを閉じる。 |
| Signature | close() => Promise<void> |
CSS Shadow Parts
No CSS shadow parts available for this component.
CSSカスタムプロパティ
No CSS custom properties available for this component.
Slots
No slots available for this component.