ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション バーに隠れないように、ジャンプ後に Web ページの内部アンカーを少し下に移動する必要があるという要件に遭遇しました。

ネットでいくつか方法を探してみたところ、ジャンプを制御するためにjsを使うものがほとんどでした。その後、海外の開発者の個人ブログでCSSだけで実装した方法を見つけました。とてもシンプルだと思ったので、その実装方法を翻訳してみました。通常、Web ページの上部にある固定ナビゲーション バーのスタイルは次のように実装されます。

<div class="header" style="position: fixed; top: 0;"></div>

その後、ジャンプ先のリンクのリストが表示されます。

<ul>
  <li><a href="#section1">アンカーテキスト</a></li>
  <li><a href="#section2">アンカーテキスト</a></li>
</ul>

要件は、上記の各リンクをクリックすると、ページが対応する ID のアンカー位置に配置されることです。

<div class="section" id="section1"></div>
<div class="section" id="section2"></div>

ただし、上部に position:fixed の div がある場合、このアンカー ポイントに配置すると、アンカー ポイント内のコンテンツの上部が上部に固定された div によって覆われてしまいます。解決策としては、配置された各コンテンツに空のページ アンカーを追加し、この空の要素にジャンプするページ要素 ID を配置し、ジャンプ時のオフセットを実現するために空の要素の CSS の習熟度を設定します。定義する空の要素は、クラスがアンカーである div であり、div の ID は、上のリンクがジャンプする先の ID に設定されます。

<div class="anchor" id="section1"></div>
<div class="section"></div>
<div class="anchor" id="section2"></div>
<div class="section"></div>

この空要素の CSS プロパティは次のとおりです。

。アンカー{
  表示: ブロック;
  height: 60px; /*上部固定と同じ高さ*/
  margin-top: -60px; /*上と同じ高さに固定*/
  可視性: 非表示;
}

この時点で、私たちが望んでいた内部アンカーポイントジャンプの機能が実現しました。

つまり、ここでのオフセット値は、ジャンプ時に空の要素が占める高さです。このプレースホルダー要素は、アンカー ポイントがジャンプするときに必要なオフセット効果を実現するために使用されます。

これで、純粋な CSS による内部アンカー ポイントのジャンプ アップとダウン オフセットのサンプル コードの紹介に関するこの記事は終了です。CSS 内部アンカー ポイントのジャンプ アップとダウン オフセットのコンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

<<:  DockerでPrometheusをインストールする詳細なチュートリアル

>>:  div+cssとウェブ標準ページの利点

推薦する

CSS3で作成した画像スクロール効果

成果を達成する実装コードhtml <base href="https://s3-us...

antd+reactプロジェクトをviteに移行するためのソリューションの詳細な説明

Antd+react+webpackは、多くの場合、Reactテクノロジースタックに基づくフロントエ...

Day.js をベースにした JavaScript での日付処理のよりエレガントな方法

目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...

Vue プロジェクトで axios をカプセル化する方法 (http リクエストの統合管理)

1. 要件Vue.js フレームワークを使用してフロントエンド プロジェクトを開発する場合、サーバ...

Alipay の Java 決済インターフェースを開発するための詳細な手順

目次最初のステップステップ2ステップ3ステップ4 Alipay 決済インターフェースへの接続に関する...

Dockerがログファイルを保存する場所の詳細な説明

目次ログはどこに保存されますか?コンテナ内のアプリケーションからのログを表示するDockerデーモン...

MySQL ディープ ページング (数千万のデータを素早くページ分割する方法)

目次序文場合最適化まとめ序文バックエンド開発では、一度に大量のデータがロードされ、メモリやディスク ...

Dockerを使用してNextCloudネットワークディスクを展開する方法

NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...

純粋な CSS3 を使用して、円の動的な光る特殊効果アニメーションを実装するためのサンプル コード

この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...

7つのMySQL JOINタイプのまとめ

始める前に、これから紹介する JOIN タイプを示すために 2 つのテーブルを作成します。テーブルを...

AWSサーバーリソースを無料で使用する方法を教えます

AWS - Amazon のクラウド コンピューティング サービス プラットフォーム以前、AWS の...

JavaScript によるデータ視覚化: ECharts マップの作成

目次概要予防1. 使用方法2. 実装手順予備実装コード効果: Geo共通設定上記の構成を追加した後の...

Windows システムに mysql5.7.21 をインストールするための詳細なチュートリアル

MySQL インストーラーは、MySQL ソフトウェアのあらゆるニーズに対応する、使いやすいウィザー...

Vueプロジェクトの最適化とパッケージ化の詳細な説明

目次序文1. ルーティングの遅延読み込み1. ルートの遅延読み込みが必要なのはなぜですか? 2. ル...

Vueはスクロールバースタイルを実装します

最初はブラウザのスクロールバーのスタイルを変更して効果を実現したいと思っていましたが、情報を調べてみ...