href="#" とは何ですか? なぜ使用されるのですか? 質問する

href=

多くのウェブサイトで というリンクを見かけますhref="#"。これはどういう意味ですか? 何のために使用されるのですか?

ベストアンサー1

ハイパーリンクについて:

アンカータグの主な用途<a></a>は、ハイパーリンク基本的には、リンクをクリックするとどこかに移動します。ハイパーリンクにはhref、場所を指定するプロパティが必要です。

ハッシュ:

ハイパーリンク内のハッシュ - `#` は、ウィンドウをスクロールする HTML 要素 ID を指定します。

href="#some-id"は、現在のページ上の要素までスクロールします<div id="some-id">

href="//site.example/#some-id"site.exampleそのページの ID まで移動してスクロールします。

トップにスクロールします:

href="#"ID 名は指定されませんが、対応する場所 (ページの上部) があります。アンカーをクリックすると、href="#"スクロール位置が上部に移動します。

このデモをご覧ください。

これは、w3 ドキュメント。

ハイパーリンクプレースホルダー:

ハイパーリンク プレースホルダーが意味をなす例として、テンプレート プレビューがあります。テンプレートの単一ページのデモでは、<a href="#">アンカー タグがハイパーリンクであるのに、どこにも移動しないというケースがよく見られます。hrefプロパティを空白のままにしないのはなぜでしょうか。空白のhrefプロパティは、実際には現在のページへのハイパーリンクです。つまり、ページの更新を引き起こします。前述したように、href="#"もハイパーリンクであり、スクロールを引き起こします。したがって、ハイパーリンク プレースホルダーの最適なソリューションは、実際には、href="#!"ここでの考え方は、ページに要素がないことid="!"(誰がそんなことをするのでしょう!?) であり、ハイパーリンクは何も参照しないため、何も起こらないというものです。

アンカータグについて:

皆さんが疑問に思うもう 1 つの質問は、「なぜ href プロパティを省略しないのか?」です。私が聞いた一般的な回答は、このhrefプロパティは必須なので、アンカーに「存在」するべきであるというものです。これは誤りです。このhrefプロパティは、アンカーが実際にハイパーリンクになるためにのみ必要です。続きを読むこれはw3からでは、プレースホルダーではこれをオフのままにしないのはなぜでしょうか。ブラウザーは要素のデフォルト スタイルをレンダリングし、href プロパティを持たないアンカー タグのデフォルト スタイルを変更します。代わりに、通常のテキストのように扱われます。要素に関するブラウザーの動作も変わります。href プロパティのないアンカーにマウスを移動しても、ステータス バー (画面の下部) は表示されません。アンカーがハイパーリンクとして扱われるようにするには、アンカーにプレースホルダー href 値を使用するのが最適です。

このデモを見るスタイルと行動の違いを示す。

おすすめ記事