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

View in English Always switch to English

CSS :current 擬似クラス

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

:currentCSS擬似クラスセレクターで、現在表示されている、またはハイライト表示されている要素またはその要素の祖先を表します。

構文

css
:current {
  /* ... */
}

:current(<compound-selector-list>) {
  /* ... */
}

解説

:current 擬似クラス は、一連の要素のうち「現在表示されている」要素を表すために使用されます。

これは時間的な意味での「現在」を指す場合もあります。:current を使用すると、再生中の動画に関連付けられた、現在表示されているキャプションや字幕(WebVTT を使用して表現されるもの)を対象に指定できます。

また、一連の要素の中で現在ハイライト表示されている要素を指す場合もあります。例えば、:current::search-text 擬似要素 と組み合わせることで、ブラウザーの「ページ内検索」機能で現在フォーカスされている検索結果に特定のスタイルを適用することができます。

例を示します。

css
p::search-text {
  color: white;
  background-color: purple;
}

p::search-text:current {
  background-color: crimson;
}

テキスト検索結果の独自スタイル

この例では、::search-text:current を使用して、ブラウザーの「ページ内で検索」機能の検索結果に独自のスタイルを適用する方法を示します。

HTML

この HTML は、基本的なテキスト段落で構成されています。簡潔にするため、またレンダリングされた例で検索結果を閲覧しやすくするため、HTML ソースは表示しません。

CSS

CSS では、まず ::search-text 擬似要素のスタイル設定から始めます。ここに、独自の background-colorcolortext-shadow スタイルを適用します。

css
::search-text {
  background-color: purple;
  color: white;
  text-shadow: 1px 1px 1px black;
}

最後に、::search-text:current を使用して、現在フォーカスされている検索結果に独自の background-colortext-decoration スタイルを適用し、他の検索結果と区別できるようにします。

css
::search-text:current {
  background-color: crimson;
  text-decoration-line: underline;
  text-decoration-color: yellow;
  text-decoration-thickness: 3px;
}

結果

この例は次のように表示されます。

ブラウザの「ページ内検索」機能を使って、例文中に複数回登場する "aliquam"、"amet"、"tortor" といった単語を探してみてください。検索結果の「前へ」と「次へ」を切り替えて、:current のスタイルを確認してみましょう。

現在表示中の WebVTT の字幕をスタイル設定

CSS

css
:current(p, span) {
  background-color: yellow;
}

HTML

html
<video controls preload="metadata">
  <source src="video.mp4" type="video/mp4" />
  <source src="video.webm" type="video/webm" />
  <track
    label="English"
    kind="subtitles"
    srclang="en"
    src="subtitles.vtt"
    default />
</video>

WebVTT

WEBVTT FILE

1
00:00:03.500 --> 00:00:05.000
This is the first caption

2
00:00:06.000 --> 00:00:09.000
This is the second caption

3
00:00:11.000 --> 00:00:19.000
This is the third caption

仕様書

この機能は、どの仕様書にも定義されていません。

ブラウザーの互換性

関連情報