jellyfin-web/dashboard-ui/css/mediaplayer-video.css
T. Adams 7ab25fd11c Reuse existing audio track controls on desktop
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
2015-03-13 23:24:42 -07:00

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;
}
}