Кратко
СкопированоПсевдокласс :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;
}
Как понять
СкопированоВременные медиапотоки (например, субтитры) делятся на три состояния:
:future позволяет стилизовать элементы, которые ещё не появились в текущем времени воспроизведения.
Это полезно для:
- визуального “приглушения” будущих субтитров
- создания эффекта прогресса текста
- интерфейсов с временной навигацией
Подсказки
Скопировано💡 :future почти всегда используется вместе с :current и :past, чтобы визуально разделять временные состояния.
💡 Подходит для эффектов “кинематографичных” субтитров — когда текст постепенно появляется.
💡 Работает только в ограниченных контекстах (в основном WebVTT и медиа-потоки), а не в обычной вёрстке HTML.
- Chrome 23, поддерживается
- Edge 79, поддерживается
- Firefox, не поддерживается
- Safari 7, поддерживается