Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
:root {
--min-font-size: 14px;
--max-font-size: 40px;
--font-scale: 0.06;
--texttracks-bottom: calc(var(--font-scale) * 100vh);
/*
* Move text tracks if they visually overlap with pip player controls
* New text tracks position is determined by adding together:
* 1) bottom distance of #controls
* 2) height of #controls-bottom,
* 3) border size of player controls buttons
* 4) hardcoded px value (to ensure consistent distance, regardless of pip window size)
* NOTE: if changing player.css values, change values here too.
*/
--resize-margin: 5px;
--player-controls-height: calc(100vh - 2 * var(--resize-margin));
--player-controls-bottom-distance: calc(100vh - var(--player-controls-height));
--player-controls-button-height: 10vmax;
--player-controls-button-max-height: 32px;
--player-controls-button-min-height: 16px;
--player-controls-button-outline-width: 2px;
--player-controls-scrubber-height: 0px;
--player-bottom-controls-height: calc(var(--player-controls-scrubber-height) + clamp(var(--player-controls-button-min-height), var(--player-controls-button-height), var(--player-controls-button-max-height)));
--distance-from-player-controls: 20px;
--texttracks-bottom-overlapped: calc(var(--player-controls-button-outline-width) + var(--player-controls-bottom-distance) + var(--player-bottom-controls-height) + var(--distance-from-player-controls));
}
#texttracks {
background-color: black;
opacity: 80%;
position: absolute;
text-align: center;
box-sizing: border-box;
color: white;
margin: 0;
display: block;
left: 50%;
transform: translateX(-50%);
padding: 8px;
max-width: calc(0.88 * 100vw);
bottom: var(--texttracks-bottom);
font-size: clamp(var(--min-font-size), calc(var(--font-scale) * 100vh), var(--max-font-size));
line-height: clamp(14.4px, calc(var(--font-scale) * 1.2 * 100vh), 48px);
white-space: pre-line;
width: max-content;
font-family: sans-serif;
transition: bottom 0.3s;
transition-delay: 0.1s;
}
#texttracks[overlap-video-controls] {
bottom: var(--texttracks-bottom-overlapped)
}
#texttracks:empty {
visibility: hidden;
}
@media (prefers-reduced-motion) {
#texttracks {
transition: none;
}
}
@media screen and (max-width: 319px) {
#texttracks {
display: none;
}
}