mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
7ab25fd11c
Use new top trakc controls on mobile Modify media queries to account for width of two extra buttons in mediaControls Remove playlist index information to avoid cluttering UI
330 lines
6.0 KiB
CSS
330 lines
6.0 KiB
CSS
.videoBackdrop {
|
|
/* Allows popups to be closed, because their z-index is 1099 */
|
|
z-index: 1098;
|
|
position: fixed;
|
|
background-color: transparent;
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
|
|
#videoPlayer {
|
|
z-index: 99997;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: #222;
|
|
}
|
|
|
|
.itemVideo {
|
|
background-color: #000;
|
|
width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
.videoCanvas {
|
|
background-color: #000;
|
|
position: fixed;
|
|
top: 200px;
|
|
bottom: 200px;
|
|
left: 200px;
|
|
right: 200px;
|
|
}
|
|
|
|
.videoControls {
|
|
padding: 0 .5em;
|
|
background-color: rgba(0, 0, 0, .8);
|
|
position: fixed;
|
|
left: 0;
|
|
bottom: 0;
|
|
right: 0;
|
|
z-index: 99998;
|
|
text-align: center;
|
|
}
|
|
|
|
.videoTopControls {
|
|
padding: .7em 1em;
|
|
background-color: rgba(0, 0, 0, .5);
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
right: 0;
|
|
z-index: 99998;
|
|
}
|
|
|
|
.videoAdvancedControls {
|
|
text-align: right;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.videoControls .currentTime {
|
|
margin-top: 25px;
|
|
}
|
|
|
|
#slider-tooltip {
|
|
z-index: 99999;
|
|
position: absolute;
|
|
top: -30px;
|
|
left: 0;
|
|
background-color: #eee;
|
|
border: 1px solid #333;
|
|
color: #333;
|
|
border-radius: 3px;
|
|
padding: 5px;
|
|
}
|
|
|
|
.nowPlayingInfo {
|
|
position: fixed;
|
|
bottom: 8px;
|
|
left: 10px;
|
|
z-index: 99999;
|
|
}
|
|
|
|
#videoPlayer .nowPlayingInfo img {
|
|
height: auto !important;
|
|
max-width: 100px;
|
|
max-height: 200px;
|
|
}
|
|
|
|
#videoPlayer .nowPlayingText {
|
|
font-weight: normal;
|
|
margin: 0 0 0 5px;
|
|
max-width: 150px;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
text-align: left;
|
|
vertical-align: bottom;
|
|
position: static;
|
|
}
|
|
|
|
.videoTopControlsLogo {
|
|
float: left;
|
|
}
|
|
|
|
.videoTopControlsLogo img {
|
|
max-height: 42px;
|
|
max-width: 200px;
|
|
}
|
|
|
|
|
|
/* Fullscreen
|
|
***************************************/
|
|
|
|
#videoPlayer, .itemVideo {
|
|
position: fixed !important;
|
|
top: 0 !important;
|
|
bottom: 0 !important;
|
|
right: 0 !important;
|
|
left: 0 !important;
|
|
width: 100% !important;
|
|
height: 100% !important;
|
|
border: 0 !important;
|
|
margin: 0 !important;
|
|
max-width: 100%;
|
|
max-height: 100%;
|
|
}
|
|
|
|
/* Hack for safari because it doesn't allow clickable content over the video surface. */
|
|
.itemVideo { (;top: 9%!important;height: 91% !important;); }
|
|
.itemVideo { [;top: 9%!important;height: 91% !important;]; }
|
|
|
|
#mediaPlayer .ui-slider-track, .nowPlayingBar .ui-slider-track, .nowPlayingPage .ui-slider-track {
|
|
border-color: #2ad !important;
|
|
height: 2px!important;
|
|
}
|
|
|
|
#videoPlayer .inactive {
|
|
display: none!important;
|
|
}
|
|
|
|
.idlePlayer video {
|
|
cursor: none;
|
|
}
|
|
|
|
#mediaPlayer .sliderContainer {
|
|
position: relative;
|
|
top: 5px;
|
|
}
|
|
|
|
/****************************************/
|
|
|
|
@media all and (max-width: 1200px), all and (max-height: 720px) {
|
|
.videoControls .currentTime {
|
|
margin-right: 0;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.videoControls .nowPlayingText {
|
|
max-width: 160px;
|
|
}
|
|
|
|
#mediaPlayer .nowPlayingImage {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 960px), all and (max-height: 550px) {
|
|
.videoControls .nowPlayingText {
|
|
max-width: 90px;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 800px), all and (max-height: 460px) {
|
|
|
|
#mediaPlayer .sliderContainer {
|
|
margin-top: 8px;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 1000px), all and (max-height: 460px) {
|
|
|
|
#mediaPlayer .nowPlayingImage, #mediaPlayer .nowPlayingText {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media all and (max-width: 555px) {
|
|
#mediaPlayer .videoControls .previousTrackButton, #mediaPlayer .videoControls .nextTrackButton {
|
|
display: none!important;
|
|
}
|
|
.videoTopControlsLogo {
|
|
display: none!important;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
.videoControls .positionSliderContainer {
|
|
width: 300px;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 1300px) {
|
|
#videoPlayer .nowPlayingInfo img {
|
|
height: auto !important;
|
|
max-width: 150px;
|
|
max-height: 300px;
|
|
}
|
|
}
|
|
|
|
/****************************************/
|
|
|
|
.status {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
margin-top: -75px;
|
|
margin-left: -75px;
|
|
width: 150px;
|
|
height: 150px;
|
|
z-index: 99999;
|
|
}
|
|
|
|
#play {
|
|
background-image: url(images/media/play.png);
|
|
opacity: 0;
|
|
display: none;
|
|
}
|
|
|
|
#pause {
|
|
background-image: url(images/media/pause.png);
|
|
opacity: 0;
|
|
display: none;
|
|
}
|
|
|
|
.fadeOut {
|
|
animation-name: fadeOut;
|
|
-webkit-animation-name: fadeOut;
|
|
animation-duration: .25s;
|
|
-webkit-animation-duration: .25s;
|
|
animation-timing-function: ease-in-out;
|
|
-webkit-animation-timing-function: ease-in-out;
|
|
visibility: visible !important;
|
|
}
|
|
|
|
@keyframes fadeOut {
|
|
0% {
|
|
transform: scale(.25);
|
|
opacity: 0.7;
|
|
}
|
|
|
|
60% {
|
|
transform: scale(.5);
|
|
opacity: 0.5;
|
|
}
|
|
|
|
80% {
|
|
transform: scale(.75);
|
|
opacity: 0.3;
|
|
}
|
|
|
|
100% {
|
|
transform: scale(1);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
@-webkit-keyframes fadeOut {
|
|
0% {
|
|
-webkit-transform: scale(.25);
|
|
opacity: 0.7;
|
|
}
|
|
|
|
60% {
|
|
-webkit-transform: scale(.5);
|
|
opacity: 0.5;
|
|
}
|
|
|
|
80% {
|
|
-webkit-transform: scale(.75);
|
|
opacity: 0.3;
|
|
}
|
|
|
|
100% {
|
|
-webkit-transform: scale(1);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
.videoPlayerPopupContent {
|
|
width: 200px;
|
|
}
|
|
|
|
.videoChaptersPopup .videoPlayerPopupContent {
|
|
width: 300px;
|
|
}
|
|
|
|
.videoChapterPopupImage {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 80px;
|
|
height: 80px;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
background-position: center center;
|
|
}
|
|
|
|
.videoPlayerPopupScroller {
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
max-height: 180px;
|
|
}
|
|
|
|
@media all and (min-height: 500px) {
|
|
.videoPlayerPopupScroller {
|
|
max-height: 300px;
|
|
}
|
|
}
|
|
|
|
|
|
@media all and (min-height: 600px) {
|
|
.videoPlayerPopupScroller {
|
|
max-height: 400px;
|
|
}
|
|
}
|