
こんにちは!静岡県浜松市でWEBデザイナーをしています小瀧です。
Webページの特定のテキストをリンクで直接示したい
そんなニーズはありませんか?
従来は「ページ内リンク(アンカー)」やJavaScriptを使うしかなかったこの課題、
2022年に新たに登場した ::target-text疑似要素 を使えば、
リンク先の特定テキストだけをハイライト表示できるようになりました。
Google検索のスニペットで黄色いハイライトが出るのを見たことがある方もいると思います。
それと同様の体験を自分のサイトでも再現できるわけです。
この記事では ::target-text の仕組みから実装方法、注意点まで、
実例を交えてしっかり解説していきます。
::target-textとは?
::target-text は、URLフラグメント内に
#:~:text= というパラメータを付けた場合に反応し、
リンク先の一致テキストだけにスタイルを当てられる疑似要素です。
#:~:text= というパラメータを付けた場合に反応し、
リンク先の一致テキストだけにスタイルを当てられる疑似要素です。
例えば以下のURLをクリックすると
https://example.com/page#:~:text=特定のテキスト
そのページの本文内で「特定のテキスト」という部分にハイライトが適用されます。
基本実装:CSSだけでハイライト
ハイライトのデザインはCSSで自由に変更可能です。
::target-text {
background-color: yellow;
color: black;
transition: background-color 0.5s ease;
}
これで、対象テキストが自然に目立つようになります。
応用:アニメーションで注目度アップ
ハイライトが表示された瞬間にアニメーションを加えるとさらに効果的です。
::target-text {
background-color: #ffeb3b;
animation: fadeHighlight 2s ease forwards;
}
@keyframes fadeHighlight {
0% {
background-color: #ffeb3b;
}
100% {
background-color: transparent;
}
}
これにより、ユーザーは視覚的に「ここがリンク先だ」とすぐ理解できます。
ブラウザ対応と注意点
- 2024年現在、Chromium系ブラウザ(Chrome/Edge)とSafariでサポート済み
- Firefoxでは未対応(将来的に対応予定)
- 一部のSPAや動的生成ページでは動作に制約あり
- SEOには直接影響しないがUX改善として有効
また、検索エンジン経由でのスニペットリンクにも対応するため、
検索結果から訪問したユーザーに「ここだ!」と示す効果があります。
実用シーン
- FAQページで質問の回答箇所に直接ジャンプ+ハイライト
- 用語集で特定キーワードをダイレクト参照
- 記事シェア時に該当フレーズを直接強調
まとめ
リンク先をわかりやすく強調する新技術
::target-text を活用すれば、URLにテキストを埋め込むだけで 自然でスマートなハイライト体験が実現可能。導入もCSSだけで完結するため、既存サイトにも簡単に追加できます。今後さらに対応ブラウザが広がることが期待される機能なので、早めに取り入れておくとUXの差別化に繋がります。













