
【6日でできるHTML入門】リンクの作成②
HTMLの<a>
タグは、クリックで別ページへ移動する基本機能に加え、現在のページを維持したまま別タブで開く、複数階層のフォルダ構成にも対応したリンクを作成する、同一ページ内の特定位置へスクロールして飛ぶ、など多彩な機能を備えています。ここでは、それら「少し特殊なリンク」の実装方法を具体的なHTMLサンプルとブラウザ表示例を交えて学習します。

1.新しいタブ/ウィンドウで開くリンク
1.1. target="_blank"
の基本動作
以下の例では、外部サイト「Lonely Planet」を新しいタブで開きます。
target="_blank"
は、リンククリック時に元のタブを維持し、新しいタブ/ウィンドウで開きます。
ファイル名: lesson07-1.html
<!-- lesson07-1.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンク②:新しいタブ🏖️</title>
</head>
<body>
<h1>海外リゾート情報を新しいタブで開く</h1>
<p>
詳細はこちら:
<a href="https://www.lonelyplanet.com/" target="_blank">Lonely Planet</a>
</p>
</body>
</html>
ブラウザの出力例
【lesson07-1.html】

・海外リゾート情報を新しいタブで開く
詳細はこちら: Lonely Planet(クリックで新しいタブが開きます)

1.2. ウィンドウ名を用いた再利用
同じ名前を指定すると、既存のタブ(ウィンドウ)を再利用します。
ファイル名: lesson07-2.html
<!-- lesson07-2.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンク②:ウィンドウ再利用🔄</title>
</head>
<body>
<h1>同じウィンドウに情報を表示</h1>
<p>
<a href="page1/resort.html" target="infoWindow">ビーチリゾートへ</a><br>
<a href="page2/cruise.html" target="infoWindow">クルーズ旅行へ</a>
</p>
</body>
</html>
ファイル名:resort.html
「page1」フォルダを作成して、その中に「resort.html」を作成します。
<!-- ファイル名: page2/resort.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ビーチリゾート🏖️</title>
</head>
<body>
<h1>ビーチリゾートへようこそ🏖️</h1>
<p>白い砂浜とエメラルドグリーンの海が広がる、まさに南国の楽園です。シュノーケリングやバナナボートなど、マリンアクティビティが充実しています。</p>
<h2>基本情報</h2>
<ul>
<li><strong>所在地:</strong>沖縄県宮古島市砂山ビーチ</li>
<li><strong>営業時間:</strong>24時間(ビーチエリア)</li>
<li><strong>入場料:</strong>無料</li>
</ul>
<h2>アクセス</h2>
<ul>
<li>宮古空港から車で約30分</li>
<li>レンタカー・タクシー利用が便利</li>
</ul>
<p><a href="../lesson07-2.html">◀ 情報一覧に戻る</a></p>
</body>
</html>
ファイル名: cruise.html
「page2」フォルダを作成して、その中に「cruise.html」を作成します。
<!-- ファイル名: page2/cruise.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>クルーズ旅行🚢</title>
</head>
<body>
<h1>豪華クルーズ旅行へようこそ🚢</h1>
<p>大海原をゆったりと航海する贅沢な旅。船内にはプールやシアター、各国料理のレストランなどがあり、飽きることなくお楽しみいただけます。</p>
<h2>おすすめコース</h2>
<ul>
<li>7泊8日:地中海クルーズ</li>
<li>10泊11日:カリブ海クルーズ</li>
<li>14泊15日:世界一周クルーズ</li>
</ul>
<h2>ご予約方法</h2>
<p>公式ウェブサイトまたはお近くの旅行代理店で承っております。</p>
<p><a href="../lesson07-2.html">◀ 情報一覧に戻る</a></p>
</body>
</html>
動作
- infoWindow タブがない場合 → 新規に「infoWindow」タブを作成し、最初のリンク先を表示
- infoWindow タブがある場合 → 既存の infoWindow タブに後続のリンク先を表示
- target="infoWindow" により、同じ名前のタブを繰り返し利用できます。
【lesson07-2.html】

【resort.html】

【cruise.html】

2.別フォルダ内ファイルへのリンクパス
2.1. サブフォルダ参照
リンク元から見てサブフォルダ内のファイルを指定します。
ファイル名: lesson07-3.html
<!-- lesson07-3.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンク②:サブフォルダ⛱️</title>
</head>
<body>
<h1>サブフォルダ内のページへ移動</h1>
<p>
<a href="page2/summer_festival.html">夏祭り情報を見る</a>
</p>
</body>
</html>
ファイル名: summer_festival.html
「page2」フォルダの中に「cruise.html」を作成します。
<!-- ファイル名: page2/summer_festival.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>夏祭りイベント🏮</title>
</head>
<body>
<h1>全国の夏祭り情報🏮</h1>
<p>夏の風物詩である花火大会や盆踊り、屋台グルメなど、各地で開催される夏祭りをご紹介します。</p>
<h2>主な祭り一覧</h2>
<ul>
<li><strong>隅田川花火大会</strong>:東京の夜空を彩る日本有数の打ち上げ花火。</li>
<li><strong>阿波おどり</strong>:徳島で400年の伝統を誇る踊りの祭典。</li>
<li><strong>仙台七夕まつり</strong>:七夕飾りが彩る東北最大級の夏祭り。</li>
</ul>
<h2>開催日程と会場</h2>
<table>
<tr><th>祭り名</th><th>開催日程</th><th>会場</th></tr>
<tr><td>隅田川花火大会</td><td>8月第1土曜</td><td>隅田川両岸</td></tr>
<tr><td>阿波おどり</td><td>8月12–15日</td><td>徳島市内</td></tr>
<tr><td>仙台七夕まつり</td><td>8月6–8日</td><td>仙台市中心部</td></tr>
</table>
<p>屋台では、たこ焼き・焼きそば・かき氷などの定番グルメが楽しめます。浴衣を着て、夏の夜を満喫しましょう!</p>
<p><a href="../lesson07-3.html">◀ 情報一覧ページへ戻る</a></p>
</body>
</html>
ブラウザの出力例
サブフォルダ内のページへ移動
夏祭り情報を見る(クリックで page2/summer_festival.html へ移動)
href="page2/ファイル名.html"
でサブフォルダを参照します。
【lesson07-3.html】

【summer_festival.html】

2.2. 親フォルダ参照
リンク元がサブフォルダ内の場合、../
を使って親フォルダへ戻ります。
../
は親フォルダを示す相対パスです。
フォルダ構成
index.html
page1/
└─ resort.html
page2/
├─ cruise.html
├─ summer_festival.html
└─ lesson07-4.html
ファイル名: lesson07-4.html
「page2」フォルダの中に「lesson07-4.html」を作成します。
<!-- page2/lesson07-4.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンク②:トップへ戻る🔙</title>
</head>
<body>
<h1>トップページへ戻る</h1>
<p>
<a href="../index.html">ホームに戻る</a>
</p>
</body>
</html>
ファイル名: index.html
<!-- ファイル名: index.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>旅行情報トップページ🌐</title>
</head>
<body>
<h1>旅行情報トップページ🌐</h1>
<p>以下のリンクから各コンテンツへ移動できます。</p>
<ul>
<li><a href="page1/resort.html">🏖️ ビーチリゾート情報</a></li>
<li><a href="page2/cruise.html">🚢 クルーズ旅行情報</a></li>
<li><a href="page2/summer_festival.html">🏮 全国の夏祭り情報</a></li>
</ul>
</body>
</html>
ブラウザの出力例
トップページへ戻る
ホームに戻る(クリックで ../index.html へ移動)
【lesson07-4.html】

【index.html】

3.ページ内リンク(アンカーリンク)
3.1. 目印にする要素へ id
属性を付与
対象の見出しなどに id
を設定します。
ファイル名: lesson07-5.html
<!-- lesson07-5.html -->
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>リンク②:ページ内ナビ📑</title>
</head>
<body>
<h1>サービス一覧</h1>
<ul>
<li><a href="#design">デザインサービス</a></li>
<li><a href="#development">開発サービス</a></li>
<li><a href="#support">サポートプラン</a></li>
</ul>
<br><br><br><br><br><br><br><br><br>
<h2 id="design">デザインサービス</h2>
<p>ロゴ制作からUI/UXデザインまで幅広く対応します。</p>
<br><br><br><br><br><br><br><br><br>
<h2 id="development">開発サービス</h2>
<p>Webアプリケーションやモバイルアプリ開発を行います。</p>
<br><br><br><br><br><br><br><br><br>
<h2 id="support">サポートプラン</h2>
<p>納品後の保守・運用支援プランをご用意しています。</p>
</body>
</html>
ブラウザの出力例

使用例
- リストの「デザインサービス」をクリックすると、同一ページ内の
<h2 id="design">
までスクロールして移動します。
3.2. href="#section-id"
の動作
href="#design"
で、同一ページ内のid="design"
要素へジャンプ- URL末尾に
#design
が付くため、後から直接開くことも可能です。
3.3. クイックナビゲーションへの応用
- 長いページの冒頭に目次を設け、各セクションへのリンクを配置すると、ユーザーが目的の項目へ瞬時に移動できます。
- JavaScriptを使わず、HTMLだけで実装できるため、軽量かつアクセシビリティに優れています。
まとめ
ここで学んだタグ・属性は以下の通りです。
タグ/属性 | 用途 |
---|---|
<a href="URL">…</a> | リンクを作成 |
target="_blank" | 新しいタブ/ウィンドウでリンク先を開く |
target="ウィンドウ名" | 同名のウィンドウを再利用、なければ新規作成 |
href="subdir/page.html" | サブフォルダ内のファイルを参照 |
href="../page.html" | 親フォルダ内のファイルを参照 |
id="識別子" | ページ内リンクの目印として要素に一意の識別子を付与 |
href="#識別子" | ページ内リンク。対応要素までスクロール |
これで「リンクの作成」の応用機能が理解できました。用途に応じて適切に属性やパスを設定し、快適で分かりやすいナビゲーションを実装しましょう。