Клавиша / esc

:past

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

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

Кратко

Скопировано

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

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

Чаще всего встречается в контексте:

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

Пример

Скопировано

В этом примере скрываются уже “проигранные” субтитры:

        
          
          :past(p, span) {  display: none;}
          :past(p, span) {
  display: none;
}

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

        
        
          
        
      

Как пишется

Скопировано

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

        
          
          :past {  /* стили для элементов в прошлом */}
          :past {
  /* стили для элементов в прошлом */
}

        
        
          
        
      

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

        
          
          video::cue(:past) {  opacity: 0.5;}
          video::cue(:past) {
  opacity: 0.5;
}

        
        
          
        
      

Как понять

Скопировано

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

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

:past позволяет стилизовать элементы, которые уже прошли в потоке воспроизведения.

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

  • затемнения уже прочитанных субтитров
  • визуализации прогресса текста
  • создания эффектов “истории воспроизведения”

Подсказки

Скопировано

💡 Чаще всего :past используется вместе с :current и :future, чтобы создать визуальную шкалу времени.
💡 Работает только в специфических контекстах (например, WebVTT), а не для обычных HTML-элементов.
💡 Поддержка ограничена — многие браузеры не реализуют time-dimensional pseudo-classes полностью.

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