:target
:target は CSS の擬似クラスで、文書内のターゲット要素を選択します。文書が読み込まれたとき、ターゲット要素は文書の URL フラグメント識別子を使用して導出されます。
css
/* 文書のターゲット要素を選択 */ :target { border: 2px solid black; }
例えば、次の URL にはフラグメント識別子(# 記号で示されます)があり、id の setup である要素を、文書のターゲット要素としてマークしています。
url
http://www.example.com/help/#setup
現在の URL が上記の通りの場合、以下の要素が :target セレクターで選択されます。
html
<section id="setup">インストール手順</section>
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 1 | 12 | 1 | 1.3 | 18 | 2 | |
基本構文
CSS
:target {
background-color: #ffffcc;
border-left: 4px solid #f39c12;
padding-left: 8px;
} ライブデモ
実務での使いどころ
-
アンカーリンク先のハイライト
ページ内リンクでジャンプした先のセクションを視覚的にハイライトし、ユーザーに現在位置を示します。
注意点
- URLフラグメントが変わるたびに :target の対象も変わるため、同時に複数の要素をターゲットにすることはできません。
アクセシビリティ
- :target によるスタイル変更だけでなく、scroll-margin-top を設定して固定ヘッダーの下に要素が隠れないようにしてください。