ウェブページの内部アンカーポイントを実現するための純粋な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とウェブ標準ページの利点

推薦する

vsftp を使用して Linux で FTP サーバーを構築する (パラメータの説明付き)

導入この章では、主に Linux で FTP サーバーを構築するプロセスを紹介します。習得すべき重要...

CSS3 を使用して左上または右上隅にリマインダー ドットを表示するサンプル コード

効果画像(三角形をご希望の場合は、ここをクリックしてください): コード: <html>...

Ajax の JavaScript ソリューションにおける parsererror エラー ケースの詳細な説明

ajax の parsererror エラー (バックグラウンドからフロントエンドに送信される js...

この記事では、6つの負荷分散技術の実装方法をまとめます(要約)

ロード バランシングは、サーバー クラスタの展開でよく使用されるデバイスです。マシンのパフォーマンス...

CSS3 のメディアクエリと rem レイアウトを組み合わせてモバイル画面に適応

CSS3 構文: (750 ピクセルのデザインの場合、1rem = 100 ピクセル) @media...

MySQL ログの設定と表示方法

MySQL には次のログがあります。エラーログ: -log-errクエリログ: -logスロークエリ...

nofollowタグの使用と分析に関する簡単な説明

nofollowをめぐる論争Zac と Guoping の間では、nofollow が PR を無駄...

Vue は動的なプログレスバー効果を実現します

この記事では、動的なプログレスバー効果を実現するためのVueの具体的なコードを例として紹介します。具...

HTML ページ内の js および css ファイルのキャッシュを自動的にクリーンアップします (バージョン番号を自動的に追加します)

Web プロジェクトの開発プロセスでは、CSS ファイルや JS ファイルを参照することがよくあり...

JavaScriptエンジンV8の実行プロセスの詳細な説明

目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...

Linux環境変数ファイルの簡単な紹介

Linux システムでは、環境変数は適用範囲に応じて、システムレベルの環境変数とユーザーレベルの環境...

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...

Vue ページでよりエレガントに画像を紹介する方法

目次エラーのデモンストレーション計算により画像が変わらない場合は直接インポートするCSS変数による画...

TypeScript のクラス

目次1. 概要2. シンプルなクラスを定義する3. 継承4. public、private、prot...

CSS属性のマージンの理解について話す

1.マージンとは何ですか?マージンは、要素の周囲のスペースの間隔を制御するために使用され、視覚的にス...