どうも7noteです。微妙に違うaタグの遷移先の設定方法について解説
以下の4つの指定方法について解説していきます。
- ①
href="./"
(現ディレクトリのルートに遷移) - ②
href=""
(現在のページに遷移) - ③
href="#"
(現在のページのTOPに遷移) - ④
href="#!"
(ページ遷移をしない)
①href="./"
(ルートに遷移)
ルートに遷移します。**勘違いされやすいですが、現在のページに遷移するわけではありません。**わかりやすいように問題にしてみます。
**前提:**ディレクトリ構造は以下とする。
index.html
/news/index.html
/news/001.html
問題1:/news/index.html
からhref="./"
ページ遷移した場合、どのページに遷移するか?
答え:/news/index.html
問題2:/news/001.html
からhref="./"
でページ遷移した場合、どのページに遷移するか?
答え:/news/index.html
**「./」の設定は現ディレクトリのルートに遷移する。**ということです。
たとえ/news/10000.html
からリンクしたとしても、/news/
のルートファイル、つまり/news/index.html
に遷移します。
②href=""
(現在のページに遷移)
/news/001.html
からhref=""
にリンクしても/news/001.html
のままです。
③href="#"
(現在のページのTOPに遷移)
/news/001.html
からhref=""
にリンクしても/news/001.html
のままですが、強制的に現ページの一番上までスクロールされます。
ページの最下部に設置するような「TOPへ戻る」ボタンなどはhref=""
が設定される場合が多いです。
- ④
href="#!"
(ページ遷移をしない)
使う機会は少ないですが、あえてページ遷移をさせたくない時はhref="#!"
を指定することでページ遷移を無効化させることができます。
まとめ
- ①
href="./"
(現ディレクトリのルートに遷移) - ②
href=""
(現在のページに遷移) - ③
href="#"
(現在のページのTOPに遷移) - ④
href="#!"
(ページ遷移をしない)
「./」や「../」の違いを理解していても、油断すると指定ミスなどが起こりやすいところです。常に自分がどの階層にあるどのファイルを触っていて、どこにリンクさせたいのかを把握する癖を持っておきましょう。
おそまつ!
~ Qiitaで毎日投稿中!! ~
【初心者向け】WEB制作のちょいテク詰め合わせ