Клавиша / esc

:future

Выбирает элементы, которые находятся в будущем относительно текущего состояния, например в субтитрах или временных треках.

Время чтения: меньше 5 мин

Кратко

Скопировано

Псевдокласс :future выбирает элементы, которые находятся после текущего активного состояния в временной последовательности.

Он относится к так называемым time-dimensional selectors — селекторам, работающим с временными потоками (например, субтитрами или медиа).

Чаще всего используется в контексте:

  • <video>
  • WebVTT субтитров
  • временных треков

Пример

Скопировано

В этом примере скрываются ещё не показанные субтитры:

        
          
          :future {  opacity: 0.3;}
          :future {
  opacity: 0.3;
}

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

        
        
          
        
      

Как пишется

Скопировано

Псевдокласс :future используется как обычный CSS-селектор:

        
          
          :future {  /* стили для элементов в будущем */}
          :future {
  /* стили для элементов в будущем */
}

        
        
          
        
      

Также может комбинироваться с другими селекторами:

        
          
          video::cue(:future) {  opacity: 0.2;}
          video::cue(:future) {
  opacity: 0.2;
}

        
        
          
        
      

Как понять

Скопировано

Временные медиапотоки (например, субтитры) делятся на три состояния:

  • :past — уже было показано
  • :current — показывается сейчас
  • :future — ещё не достигнуто

:future позволяет стилизовать элементы, которые ещё не появились в текущем времени воспроизведения.

Это полезно для:

  • визуального “приглушения” будущих субтитров
  • создания эффекта прогресса текста
  • интерфейсов с временной навигацией

Подсказки

Скопировано

💡 :future почти всегда используется вместе с :current и :past, чтобы визуально разделять временные состояния.
💡 Подходит для эффектов “кинематографичных” субтитров — когда текст постепенно появляется.
💡 Работает только в ограниченных контекстах (в основном WebVTT и медиа-потоки), а не в обычной вёрстке HTML.

Поддержка в браузерах:
  • Chrome 23, поддерживается
  • Edge 79, поддерживается
  • Firefox, не поддерживается
  • Safari 7, поддерживается
О Baseline