ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
a 要素とは
a 要素(アンカー要素)は HTML でハイパーリンクを作るための要素です。テキスト、画像、ブロック要素まで何でも包んで「クリックすると別の URL へ遷移する」リンクに変えられます。
基本構文
<!-- 通常のリンク -->
<a href="sample.html">サンプルへ</a>
<!-- 別タブで開く -->
<a href="https://example.com" target="_blank" rel="noopener noreferrer">外部サイト</a>
<!-- ダウンロード -->
<a href="report.pdf" download>レポート PDF</a>
<!-- ページ内アンカー -->
<a href="#section3">第 3 章へ</a>
<!-- href なし(プレースホルダー) -->
<a>後で設定予定</a>
a 要素に指定できる主な属性
| 属性名 | 意味 | 備考 |
|---|---|---|
href | リンク先 URL | 絶対 / 相対 / ハッシュ / mailto / tel など |
target | リンク先の開き方 | _self / _blank / _parent / _top |
rel | リンクの関連性 | noopener / noreferrer / nofollow / author など |
download | ダウンロードファイル指定 | 属性値がファイル名になる |
hreflang | リンク先の言語 | BCP 47(例: ja、en-US) |
type | リンク先の MIME タイプ | 例: application/pdf |
referrerpolicy | Referer 送出方針 | プライバシー / 解析制御 |
href の書き方
| 形式 | 例 | 挙動 |
|---|---|---|
| 絶対 URL | https://example.com/about | 完全な URL を指定 |
| プロトコル相対 | //example.com/about | 現在の HTTP/HTTPS を継承 |
| ルート相対 | /about | サイトルートからの相対 |
| ドキュメント相対 | about.html / ../docs/x.html | 現ファイルからの相対 |
| フラグメント | #section3 | 同一ページ内の id へジャンプ |
| mailto | mailto:info@example.com | メーラを起動 |
| tel | tel:+819012345678 | 電話アプリを起動 |
| JavaScript | javascript:void(0) | 非推奨。button の方が適切 |
target 属性とセキュリティ
target="_blank" で新しいタブを開く場合、リンク先が window.opener 経由で元タブに干渉できる脆弱性(タブナビングなど)が知られています。必ず rel="noopener noreferrer" を付けます。
<!-- 推奨 -->
<a href="https://example.com" target="_blank" rel="noopener noreferrer">
外部サイト
</a>
| rel 値 | 意味 |
|---|---|
noopener | 新しいタブから window.opener を切る(必須) |
noreferrer | Referer ヘッダを送らない(プライバシー) |
nofollow | 検索エンジンにリンクを辿らせない |
ugc | ユーザー生成コンテンツのリンク |
sponsored | 広告 / 有償リンク |
download 属性
<!-- ファイル名を指定してダウンロード -->
<a href="/files/report.pdf" download="2026年度報告.pdf">
レポートをダウンロード
</a>
属性値を省略するとサーバ側のファイル名がそのまま使われます。同一オリジンでないと無視されるブラウザ仕様なので、外部 URL に download を付けても期待通り動かないことがあります。
ブロック要素を中に入れる
HTML5 以降は a 要素の中に div、section などのブロック要素を入れられます。これによりカード全体をクリック可能にできます。
<a href="/article/123" class="card">
<article>
<h3>記事タイトル</h3>
<p>本文の冒頭...</p>
<img src="thumb.jpg" alt="" />
</article>
</a>
ただし a の中にさらに a や button など他の対話可能要素を入れることはできません(インタラクティブコンテンツの入れ子禁止)。
アクセシビリティ(aria)
リンクの目的が文脈だけでは伝わらない場合、aria-label を補います。アイコンだけのリンクや「もっと見る」を多用するページで重要です。
<!-- アイコンだけのリンク -->
<a href="/search" aria-label="検索ページを開く">
<svg>...</svg>
</a>
<!-- 「もっと見る」が複数ある場合 -->
<a href="/news/1" aria-label="ニュース記事『新製品発表』の続きを読む">
続きを読む
</a>
href なしの a 要素
href を持たない a 要素はプレースホルダーとして扱われます。CSS のホバー効果も付かず、キーボードフォーカスも当たりません。後から JS でリンク化する予定の場所などに使います。
クリックできるが遷移しない要素が必要なときは、a ではなく button 要素を使うのが正解です。
よくあるトラブル
| 症状 | 原因と対処 |
|---|---|
| 外部リンクから戻ると元タブが書き換わっていた | rel="noopener" 漏れ。タブナビング対策必須 |
| download が効かない | クロスオリジンの可能性。Content-Disposition ヘッダで代替 |
| ページ内アンカーでヘッダに隠れる | scroll-margin-top でオフセット指定 |
| クリック時に遷移しない | href="#" + preventDefault 漏れ。button 推奨 |
| SEO で内部リンクが評価されない | javascript: や onclick のみのリンクは評価されにくい |
FAQ
Q: a 要素にホバー時の色をデフォルトで付けたい
A: ブラウザ既定で a:link(青)、a:visited(紫)、a:hover、a:active の擬似クラスが効きます。CSS でまとめて上書き可能です。
Q: 同一ページ内のリンクで戻るボタンの動きは?
A: フラグメントリンクは履歴に追加されるので、戻るボタンで戻れます。SPA の場合は history.pushState で制御します。
Q: メールリンクで件名を指定したい
A: mailto:info@example.com?subject=お問い合わせ&body=本文 のようにクエリで指定できます。
関連
- リンク・ボタン — 親カテゴリ
- href属性 — リンク先指定
- target属性 — 開き方指定
- download属性 — ダウンロード指定
- rel属性 — 関連性指定
- hreflang属性 — 言語指定
- type属性 — MIME 指定
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?