CSS Portal

:future CSS Pseudo Class

☕
Enjoying this site?

Help keep it running with a small coffee donation. Every bit of support is appreciated!

Buy us a coffee
:future
CSS Pseudo ClassThis pseudo class is supported in some modern browsers, but not all.
Updated 31st December 2025

Description

The :future pseudo-class is a time-based CSS selector intended to match elements whose associated time is in the future relative to the current playback position of a time-based media element (such as audio, video, or timed text). It is part of the Selectors Level 4 draft and is primarily designed for temporal documents, such as captions, subtitles, or synchronized media presentations.

At the moment, :future is not widely implemented in browsers, so it is mostly useful for conceptual understanding, specifications, and experimental environments rather than production use.

What :future Targets

The :future pseudo-class selects elements that are scheduled to appear later in time, meaning their associated time interval has not yet begun.

It is commonly discussed alongside :past, which targets content that has already occurred.

Typical use cases include:

  • Styling upcoming captions or subtitles
  • Highlighting upcoming cues in timed text
  • Visually distinguishing future steps in a time-based presentation

Example Concept

Imagine a timed transcript synced with a video:

<p class="cue">Hello and welcome.</p>
<p class="cue">Today we’ll learn about CSS.</p>
<p class="cue">Let’s begin.</p>

In a theoretical time-based environment, CSS like this could apply:

.cue:future {
  opacity: 0.4;
}

This would visually fade any cue that has not yet occurred.

Relationship to Other Pseudo-Classes

  • :past - targets content whose time has already passed.
  • :current - represents content that is active right now (this is the “current” pseudo-class, as requested).

These three are often described as a temporal trio:

  • past → current → future

Typical Use with Media Elements

The :future pseudo-class is most relevant when used alongside timed media such as:

For example, a browser or media engine could theoretically style upcoming captions differently before they appear onscreen.

Syntax

:future {
  /* ... */
}

Example

<body>
<video controls width="600">
<source src="movie.mp4" type="video/mp4">
<track default src="subtitles.vtt" kind="subtitles" srclang="en" label="English">
</video>
</body>
/* Styles for all captions */
video::cue {
background-color: rgba(0, 0, 0, 0.8);
color: white;
}

/* Styles specifically for the captions appearing after the current playback time */
video::cue(:future) {
color: gray;
opacity: 0.5;
}
Open in editor

Browser Support

The following information will show you the current browser support for the CSS :future pseudo class. Hover over a browser icon to see the version that first introduced support for this CSS pseudo class.

This pseudo class is supported in some modern browsers, but not all.

Desktop

Chrome
Edge
Firefox
Opera
Safari

Tablets & Mobile

Chrome Android
Firefox Android
Opera Android
Safari iOS
Samsung Internet
Android WebView
-
Supported Unknown Not supported
☕
Enjoying this site?

Help keep it running with a small coffee donation. Every bit of support is appreciated!

Buy us a coffee