このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

:target

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

:targetCSS擬似クラスで、文書内のターゲット要素を選択します。文書が読み込まれたとき、ターゲット要素は文書の URL フラグメント識別子を使用して導出されます。

css
/* 文書のターゲット要素を選択 */ :target { border: 2px solid black; } 

例えば、次の URL にはフラグメント識別子(# 記号で示されます)があり、idsetup である要素を、文書のターゲット要素としてマークしています。

url
http://www.example.com/help/#setup 

現在の URL が上記の通りの場合、以下の要素が :target セレクターで選択されます。

html
<section id="setup">インストール手順</section> 

構文

css
:target { /* ... */ } 

解説

HTML 文書が読み込まれると、ブラウザーはそのターゲット要素を設定します。要素は URL フラグメント識別子を使用して識別されます。 URL フラグメント識別子がない場合、文書にはターゲット要素はありません。擬似クラス :target を使用すると、文書のターゲット要素のスタイルを設定することができます。要素にフォーカスを合わせたり、強調表示したり、アニメーションさせたりすることができます。

ターゲット要素は、文書が読み込まれたとき、および history.back()history.forward()history.go() メソッドが呼び出されたときに設定されます。しかし、history.pushState() および history.replaceState() メソッドが呼び出されても、変更は行われません。

メモ: CSS 仕様書のバグの可能性がありますが、:targetウェブコンポーネント内では動作しません。シャドウルートがターゲット要素をシャドウツリーに渡さないためです。

目次

:target 擬似クラスは、目次を構成するためにリンクされたページの部分を強調表示するために使うことができます。

HTML

html
<h3>目次</h3> <ol> <li><a href="#p1">第 1 段落にジャンプ!</a></li> <li><a href="#p2">第 2 段落にジャンプ!</a></li> <li> <a href="#nowhere"> このリンクにはターゲットがないので、どこにも行きません。 </a> </li> </ol> <h3>面白い記事</h3> <p id="p1"> URL フラグメントを使うと<i>この段落</i>をターゲットにすることができます。上記のリンクをクリックして試してみてください。 </p> <p id="p2"> これは<i>別な段落</i>であり、やはり上記のリンクからアクセスできます。喜ばしいことだと思いませんか。 </p> 

CSS

css
p:target { background-color: gold; } /* 対象要素に擬似要素を追加 */ p:target::before { font: 70% sans-serif; content: "►"; color: limegreen; margin-right: 0.25em; } /* 対象要素の中の i 要素にスタイルを適用 */ p:target i { color: red; } 

結果

仕様書

Specification
HTML
# selector-target
Selectors Level 4
# target-pseudo

ブラウザーの互換性

関連情報