Fixed positioning
要素をビューポートに対して固定配置する位置指定方式です。スクロールしても要素の位置が変わらないため、常に表示させたいナビゲーションバーやフローティングボタンに最適です。top、right、bottom、leftプロパティで位置を指定し、z-indexで重なり順を制御します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
css.properties.position.fixed | 1 | 12 | 1 | 1 | 18 | 1 |
注釈 1件
実装メモ
- Firefox 44 より前では、ほとんどの場合、「position:fixed」ではスタッキング コンテキストが作成されませんでした。 Firefox とその仕様は、Chrome と Safari の長年の動作を模倣するように変更されています。
基本構文
CSS
.fixed-header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 100;
} ライブデモ
実務での使いどころ
-
固定ヘッダー・ナビゲーション
ページのヘッダーをビューポート上部に固定し、スクロールしても常にナビゲーションにアクセスできるようにします。
注意点
- transform、filter、willChangeプロパティを持つ祖先要素がある場合、ビューポートではなくその祖先が基準になるため注意してください。
アクセシビリティ
- 固定要素がページコンテンツを覆い隠さないよう十分な余白を確保し、キーボードフォーカスが固定要素の背後に隠れないようにしてください。