CSSの固定位置属性の詳細な説明

CSSの固定位置属性の詳細な説明

モバイル アプリを開発する場合、Web サイトが特定の高さまでスクロールしたときにコンテンツの一部をナビゲーション バーとして表示する必要がある状況によく遭遇します。通常、これを実現するにはスクロール イベントをリッスンする js を使用しますが、新しく追加された CSS 属性 position:sticky を使用すると簡単に実現できます。

私が最後に知っているわけではない: 位置: 固定

position の意味は、配置タイプを指します。可能な値のタイプは、static、relative、absolute、fixed、inherit、sticky です。ここで、sticky は CSS3 で新しくリリースされた属性です。今日注目したいのは粘着性属性です

position:stickyの使い方

  • position:sticky は、計算された位置属性がスティッキーである要素である、スティッキー配置要素と呼ばれます。
  • 簡単に理解すると、対象領域内では position:relative のように動作します。スライド処理中に、要素とその親要素間の距離が固定配置の要件 (たとえば、top: 100px) に達すると、このときの position:sticky の効果は固定配置と同等になり、適切な位置に固定されます。
  • 相対的な位置決めと固定的な位置決めを組み合わせたものと言えます。
  • 要素の固定相対オフセットは、スクロール ボックスを持つ最も近い祖先要素を基準とします。祖先要素のいずれもスクロールできない場合、要素のオフセットはビューポートを基準として計算されます。

position:stickyの使用条件

1. 親要素には、overflow:hidden 属性または overflow:auto 属性を指定できません。 2. 上、下、左、右のいずれかの値を指定する必要があります。指定しない場合は相対的な位置付けのみになります。3. 親要素の高さは、スティッキー要素の高さよりも低くすることはできません。4. スティッキー要素は、その親要素内でのみ有効です。

マウスが特定の高さまでスライドすると、position:sticky 配置要件がトリガーされ、「人気、新着、おすすめ」が上から 44 ピクセルに固定されます。

CSSコード

.タブコントロール{
  位置: 固定;
  上: 44px;
}

HTMLエリア

<tab-control class="tab-control" :titles="['人気','新着','おすすめ']"></tab-control>

Web 開発では互換性に注意してください。

Sticky はまだ実験的な属性であり、W3C が推奨する標準ではありません。これは、スクロール イベントをリッスンしてスティッキー レイアウトを実装すると、ブラウザーが低速スクロール モードになるために発生します。これは、ハードウェア アクセラレーションによってスクロール エクスペリエンスを向上させるというブラウザーの目的とは相反します。詳細については、下の図を参照してください。基本的に、このプロパティを使用するブラウザは、Firefox と iOS Safari のみです。

要約する

CSS の固定位置属性の詳細な説明については、これで終わりです。CSS の固定位置属性に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  フォームアクションとonSubmitの例

>>:  docker で golang イメージに基づいて ssh サービスを構築する方法

推薦する

HTTPSの最も優れた説明

皆さんおはようございます。しばらく記事を更新していませんでした。実は、私は流行中に1か月以上家にいて...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

JavaScript 配列重複排除ソリューション

目次方法1: set: データ型ではなくデータ構造であり、メンバーは一意である方法2: オブジェクト...

HTML でよく使われるメタ百科事典 (推奨)

メタタグは、HTML言語のヘッド領域にある補助タグです。HTML文書のヘッダーにあるヘッドタグとタイ...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

Nginx の add_header ディレクティブに注意する必要があるのはなぜですか?

序文ご存知のとおり、nginx 構成ファイルは add_header ディレクティブを使用して応答ヘ...

高品質なコードを書く Web フロントエンド開発実践書の抜粋

(P4) Web 標準は一連の標準で構成されています。中心となる概念は、Web ページの構造、スタイ...

MySQL 日付処理関数の例の分析

この記事は主にMySQLの日付処理関数のサンプル分析を紹介します。この記事ではサンプルコードを詳細に...

テーブルはセルとimg画像を結合してtd HTML全体を埋めます

ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...

テキストエリアのテキスト入力領域に改行を実装する方法

textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...

MySQLデータベースのnullに関する知識ポイントのまとめ

MySQL データベースでは、null は一般的な状況です。MySQL での null に関する注意...

MySQL 8.0.15 のダウンロードとインストールの詳細なチュートリアルは初心者にとって必須です。

この記事では、MySQL 8.0.15をダウンロードしてインストールするための具体的な手順を参考まで...

MySQL 実行ステータスの表示と分析

MySQL のパフォーマンスに問題があると思われる場合は、通常、まずshow processlist...

Linuxフラッシュのインストール方法

Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...