HTMLで複数のアンカーリンクが使えない理由を現役エンジニアが解説【初心者向け】

初心者向けにHTMLで複数のアンカーリンクが使えない理由について解説しています。アンカーリンクを使うことで、ページ内の特定の位置へ移動することができます。idタグを使ったアンカーリンクの複数設定方法、記述の注意点を覚えましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

HTMLで複数のアンカーリンクが使えない理由について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

そもそも、HTMLの記述方法がわからない場合は、 HTMLの書き方について解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプWebデザイン講座のHTMLカリキュラムをもとに執筆しています。

 

田島悠介

今回は、HTMLに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

複数のアンカーリンクが使えない理由について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

アンカーとは

アンカーとは、ページ内のリンクのことをいいます。

ページが縦に長い場合にその「ページ内リンク」を押すことで、同じページ内の表示位置を変えること可能です。

ブログなどのテキスト量の多い場合には、目次を用意することで、すぐに見たいところに飛ぶことができます。

また、ランディングページではヘッダー内にページ内リンクを作成したり、お問い合わせボタンをページ内に複数配置しておくことでユーザーが見たい情報を見やすくなり、使いやすいページとすることが可能です。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

アンカーリンクの設定方法と注意点

アンカーリンクはidタグを使用して、アンカーとしたい目印の位置にid名を付けていきます。

このときにidタグを複数作成する場合には、名前が重複しないように別のid名を付けなければなりません。

hタグなどの見出しにid名を付ける場合にはcssで装飾するための記述の方法と同様です。

h2 id=”test1″のように記述していきましょう。

 

次に、リンクを作成します。

aタグを使用することになるものの、リンク自体は「文字」や「画像」でも構いません。

外部のページを表示するリンクと同様にa href=”(移動先のid名)”として、閉じタグとの間にはリンクとして選択される文字などを記述することになります。

注意点としては、HTML5の前のHTML4まではname属性でアンカーを記述しいているコードもあり、a name=”test1″となっている古いコードで記述してあるwebサイトの修正の場合はidに書き直さなければなりません。

また、その他の注意点としてはid名を単純な名前にしている場合はid値が重複し、正しく表示されない可能性があります。

通常、一つのページ内では同じid名を使うことはありません。

 

しかし、複数のページで同じid名を使っている場合は注意が必要です。

カテゴリページなどで複数のページを表示できるようしている場合や別のページの引用文の中にid名が入っている場合はid名が重複します。

このような事態を想定される場合は、aタグをページ内相対値とするのではなく、絶対値としてwebページのアドレスから記述することで回避することが可能です。

a href=”(表示するwebページのアドレス/移動先のid名)”とすることで重複しなくなります。

 

アンカーリンクを使ってみよう

通常では、webサイトは上から下へ読まれていきます。

そのため、サイトの上部にリンク先のボタンや文字など用意することになります。

このリンクは画像などでも構いません。

そして、任意の位置にidを付けることでアンカーリンクを作成することが可能です。

(htmlファイル)

<a href="#test1">ページ内リンクへ移動</a>

<a href="#test2">ページ内リンクへ移動</a>

<div>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p id="test1">ページ内リンク</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<h2 id="test2">見出し</h2>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

<p>テキスト</p>

</div>

 

執筆してくれたメンター

木村勇土

TechAcademyの現役メンター。

現在は行政書士事務所を運営しており、お客様にはプログラマーやフリーランサーも多い。

WordPressを中心とした自社のWebサイトの修正などを行なっている。

 

大石ゆかり

HTMLで複数のアンカーリンクが使えない理由がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも、最短4週間でオリジナルWebサイトを公開できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。