mirror of
https://github.com/videojs/video.js.git
synced 2024-11-28 08:58:46 +02:00
307 lines
15 KiB
CSS
307 lines
15 KiB
CSS
/*
|
|
VideoJS Default Styles (http://videojs.com)
|
|
Version 3.0
|
|
|
|
REQUIRED STYLES (be careful overriding)
|
|
================================================================================ */
|
|
/* When loading the player, the video tag is replaced with a DIV,
|
|
that will hold the video tag or object tag for other playback methods.
|
|
The div contains the video playback element (Flash or HTML5) and controls, and sets the width and height of the video.
|
|
|
|
** If you want to add some kind of border/padding (e.g. a frame), or special positioning, use another containing element.
|
|
Otherwise you risk messing up control positioning and full window mode. **
|
|
*/
|
|
.video-js {
|
|
background-color: #000; position: relative; padding: 0;
|
|
/* Start with 10px for base font size so other dimensions can be em based and easily calculable. */
|
|
font-size: 10px;
|
|
}
|
|
|
|
/* Playback technology elements expand to the width/height of the containing div. <video> or <object> */
|
|
.video-js .vjs-tech { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
|
|
|
/* Fullscreen Styles */
|
|
body.vjs-full-window {
|
|
padding: 0; margin: 0;
|
|
height: 100%; overflow-y: auto; /* Fix for IE6 full-window. http://www.cssplay.co.uk/layouts/fixed.html */
|
|
}
|
|
.video-js.vjs-fullscreen {
|
|
position: fixed; overflow: hidden; z-index: 1000; left: 0; top: 0; bottom: 0; right: 0; width: 100% !important; height: 100% !important;
|
|
_position: absolute; /* IE6 Full-window (underscore hack) */
|
|
}
|
|
|
|
/* Subtiles Style */
|
|
.video-js .vjs-subtitles { color: #fff; font-size: 20px; text-align: center; position: absolute; bottom: 40px; left: 0; right: 0; }
|
|
|
|
/* DEFAULT SKIN (override in another file)
|
|
================================================================================
|
|
Instead of editing this file, I recommend creating your own skin CSS file to be included after this file,
|
|
so you can upgrade to newer versions easier. You can remove all these styles by removing the 'vjs-default-skin' class from the tag. */
|
|
|
|
/* The default control bar. Created by bar.js */
|
|
.vjs-default-skin .vjs-controls {
|
|
position: absolute;
|
|
bottom: 0; /* Distance from the bottom of the box/video. Keep 0. Use height to add more bottom margin. */
|
|
left: 0; right: 0; /* 100% width of div */
|
|
opacity: 0.85; display: block; /* Start hidden */
|
|
margin: 0; padding: 0; /* Controls are absolutely position, so no padding necessary */
|
|
height: 2.6em; /* Including any margin you want above or below control items */
|
|
color: #fff; border-top: 1px solid #404040;
|
|
|
|
/* CSS Gradient */
|
|
/* Can use the Ultimate CSS Gradient Generator: http://www.colorzilla.com/gradient-editor/ */
|
|
background: #242424; /* Old browsers */
|
|
background: -moz-linear-gradient(top, #242424 50%, #1f1f1f 50%, #171717 100%); /* FF3.6+ */
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(50%,#242424), color-stop(50%,#1f1f1f), color-stop(100%,#171717)); /* Chrome,Safari4+ */
|
|
background: -webkit-linear-gradient(top, #242424 50%,#1f1f1f 50%,#171717 100%); /* Chrome10+,Safari5.1+ */
|
|
background: -o-linear-gradient(top, #242424 50%,#1f1f1f 50%,#171717 100%); /* Opera11.10+ */
|
|
background: -ms-linear-gradient(top, #242424 50%,#1f1f1f 50%,#171717 100%); /* IE10+ */
|
|
/* Filter was causing a lot of weird issues in IE. Elements would stop showing up, or other styles would break. */
|
|
/*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#242424', endColorstr='#171717',GradientType=0 );*/ /* IE6-9 */
|
|
background: linear-gradient(top, #242424 50%,#1f1f1f 50%,#171717 100%); /* W3C */
|
|
|
|
/* Fade-in using CSS Transitions */
|
|
-webkit-transition: opacity 0.3s linear;
|
|
-moz-transition: opacity 0.3s linear;
|
|
-o-transition: opacity 0.3s linear;
|
|
-ms-transition: opacity 0.3s linear;
|
|
transition: opacity 0.3s linear;
|
|
}
|
|
|
|
/* General styles for individual controls. */
|
|
.vjs-default-skin .vjs-control {
|
|
position: relative; float: left;
|
|
text-align: center; margin: 0; padding: 0;
|
|
height: 2.6em; width: 2.6em;
|
|
}
|
|
|
|
.vjs-default-skin .vjs-control:focus {
|
|
outline: 0;
|
|
}
|
|
|
|
/* Hide control text visually, but have it available for screenreaders: h5bp.com/v */
|
|
.vjs-default-skin .vjs-control-text { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
|
|
|
|
|
|
/* Play/Pause
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-default-skin .vjs-play-control { width: 5em; cursor: pointer !important; }
|
|
/* Play Icon */
|
|
.vjs-default-skin.vjs-paused .vjs-play-control div { width: 15px; height: 17px; background: url('video-js.png'); margin: 0.5em auto 0; }
|
|
.vjs-default-skin.vjs-playing .vjs-play-control div { width: 15px; height: 17px; background: url('video-js.png') -25px 0; margin: 0.5em auto 0; }
|
|
|
|
/* Rewind
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-default-skin .vjs-rewind-control { width: 5em; cursor: pointer !important; }
|
|
.vjs-default-skin .vjs-rewind-control div { width: 19px; height: 16px; background: url('video-js.png'); margin: 0.5em auto 0; }
|
|
|
|
/* Volume/Mute
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-default-skin .vjs-mute-control { width: 3.8em; cursor: pointer !important; float: right; }
|
|
.vjs-default-skin .vjs-mute-control div { width: 22px; height: 16px; background: url('video-js.png') -75px -25px; margin: 0.5em auto 0; }
|
|
.vjs-default-skin .vjs-mute-control.vjs-vol-0 div { background: url('video-js.png') 0 -25px; }
|
|
.vjs-default-skin .vjs-mute-control.vjs-vol-1 div { background: url('video-js.png') -25px -25px; }
|
|
.vjs-default-skin .vjs-mute-control.vjs-vol-2 div { background: url('video-js.png') -50px -25px; }
|
|
|
|
|
|
.vjs-default-skin .vjs-volume-control { width: 5em; float: right; }
|
|
.vjs-default-skin .vjs-volume-bar {
|
|
position: relative; width: 5em; height: 0.6em; margin: 1em auto 0; cursor: pointer !important;
|
|
|
|
-moz-border-radius: 0.3em; -webkit-border-radius: 0.3em; border-radius: 0.3em;
|
|
|
|
background: #666;
|
|
background: -moz-linear-gradient(top, #333, #666);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#333), to(#666));
|
|
background: -webkit-linear-gradient(top, #333, #666);
|
|
background: -o-linear-gradient(top, #333, #666);
|
|
background: -ms-linear-gradient(top, #333, #666);
|
|
background: linear-gradient(top, #333, #666);
|
|
}
|
|
.vjs-default-skin .vjs-volume-level {
|
|
position: absolute; top: 0; left: 0; height: 0.6em;
|
|
|
|
-moz-border-radius: 0.3em; -webkit-border-radius: 0.3em; border-radius: 0.3em;
|
|
|
|
background: #fff;
|
|
background: -moz-linear-gradient(top, #fff, #ccc);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#ccc));
|
|
background: -webkit-linear-gradient(top, #fff, #ccc);
|
|
background: -o-linear-gradient(top, #fff, #ccc);
|
|
background: -ms-linear-gradient(top, #fff, #ccc);
|
|
background: linear-gradient(top, #fff, #ccc);
|
|
}
|
|
.vjs-default-skin .vjs-volume-handle {
|
|
position: absolute; top: -0.2em; width: 0.8em; height: 0.8em; background: #ccc; left: 0;
|
|
border: 1px solid #fff;
|
|
-moz-border-radius: 0.6em; -webkit-border-radius: 0.6em; border-radius: 0.6em;
|
|
}
|
|
|
|
/* Progress
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-default-skin div.vjs-progress-control {
|
|
position: absolute;
|
|
left: 4.8em; right: 4.8em; /* Leave room for time displays. */
|
|
height: 1.0em; width: auto;
|
|
top: -1.3em; /* Set above the rest of the controls. And leave room for 2px of borders (progress bottom and controls top). */
|
|
border-bottom: 1px solid #1F1F1F;
|
|
border-top: 1px solid #222;
|
|
|
|
/* CSS Gradient */
|
|
background: #333;
|
|
background: -moz-linear-gradient(top, #333, #222);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#333), to(#222));
|
|
background: -webkit-linear-gradient(top, #333, #222);
|
|
background: -o-linear-gradient(top, #333, #222);
|
|
background: -ms-linear-gradient(top, #333, #222);
|
|
background: linear-gradient(top, #333, #222);
|
|
|
|
/* 1px top shadow */
|
|
/* -webkit-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15);*/
|
|
}
|
|
|
|
/* Box containing play and load progresses. Also acts as seek scrubber. */
|
|
.vjs-default-skin .vjs-progress-holder {
|
|
position: relative; cursor: pointer !important; /*overflow: hidden;*/
|
|
padding: 0; margin: 0; /* Placement within the progress control item */
|
|
height: 1.0em;
|
|
-moz-border-radius: 0.6em; -webkit-border-radius: 0.6em; border-radius: 0.6em;
|
|
|
|
/* CSS Gradient */
|
|
background: #111;
|
|
background: -moz-linear-gradient(top, #111, #262626);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#111), to(#262626));
|
|
background: -webkit-linear-gradient(top, #111, #262626);
|
|
background: -o-linear-gradient(top, #111, #262626);
|
|
background: -ms-linear-gradient(top, #111, #262626);
|
|
background: linear-gradient(top, #111, #262626);
|
|
}
|
|
.vjs-default-skin .vjs-progress-holder .vjs-play-progress,
|
|
.vjs-default-skin .vjs-progress-holder .vjs-load-progress { /* Progress Bars */
|
|
position: absolute; display: block; height: 1.0em; margin: 0; padding: 0;
|
|
left: 0; top: 0; /*Needed for IE6*/
|
|
-moz-border-radius: 0.6em; -webkit-border-radius: 0.6em; border-radius: 0.6em;
|
|
|
|
/*width: 0;*/
|
|
}
|
|
|
|
.vjs-default-skin .vjs-play-progress {
|
|
/* CSS Gradient. */
|
|
background: #fff; /* Old browsers */
|
|
background: -moz-linear-gradient(top, #fff 0%, #d6d6d6 50%, #fff 100%);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%,#fff), color-stop(50%,#d6d6d6), color-stop(100%,#fff));
|
|
background: -webkit-linear-gradient(top, #fff 0%,#d6d6d6 50%,#fff 100%);
|
|
background: -o-linear-gradient(top, #fff 0%,#d6d6d6 50%,#fff 100%);
|
|
background: -ms-linear-gradient(top, #fff 0%,#d6d6d6 50%,#fff 100%);
|
|
background: linear-gradient(top, #fff 0%,#d6d6d6 50%,#fff 100%);
|
|
|
|
background: #efefef;
|
|
background: -moz-linear-gradient(top, #efefef 0%, #f5f5f5 50%, #dbdbdb 50%, #f1f1f1 100%);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%,#efefef), color-stop(50%,#f5f5f5), color-stop(50%,#dbdbdb), color-stop(100%,#f1f1f1));
|
|
background: -webkit-linear-gradient(top, #efefef 0%,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);
|
|
background: -o-linear-gradient(top, #efefef 0%,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);
|
|
background: -ms-linear-gradient(top, #efefef 0%,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);
|
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efefef', endColorstr='#f1f1f1',GradientType=0 );
|
|
background: linear-gradient(top, #efefef 0%,#f5f5f5 50%,#dbdbdb 50%,#f1f1f1 100%);
|
|
}
|
|
.vjs-default-skin .vjs-load-progress {
|
|
opacity: 0.8;
|
|
|
|
/* CSS Gradient */
|
|
background: #666;
|
|
background: -moz-linear-gradient(top, #666, #333);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#666), to(#333));
|
|
background: -webkit-linear-gradient(top, #666, #333);
|
|
background: -o-linear-gradient(top, #666, #333);
|
|
background: -ms-linear-gradient(top, #666, #333);
|
|
background: linear-gradient(top, #666, #333);
|
|
}
|
|
|
|
.vjs-default-skin div.vjs-seek-handle {
|
|
position: absolute;
|
|
width: 16px; height: 16px; /* Match img pixles */
|
|
margin-top: -0.3em;
|
|
left: 0; top: 0; /*Needed for IE6*/
|
|
|
|
background: url('video-js.png') 0 -50px;
|
|
/* CSS Curved Corners. Needed to make shadows curved. */
|
|
-moz-border-radius: 0.8em; -webkit-border-radius: 0.8em; border-radius: 0.8em;
|
|
/* CSS Shadows */
|
|
-webkit-box-shadow: 0 2px 4px 0 #000; -moz-box-shadow: 0 2px 4px 0 #000; box-shadow: 0 2px 4px 0 #000;
|
|
}
|
|
/* Time Display
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-default-skin .vjs-time-controls {
|
|
position: absolute;
|
|
right: 0;
|
|
height: 1.0em; width: 4.8em;
|
|
top: -1.3em;
|
|
border-bottom: 1px solid #1F1F1F;
|
|
border-top: 1px solid #222;
|
|
background-color: #333;
|
|
|
|
font-size: 1em; line-height: 1.0em; font-weight: normal; font-family: Helvetica, Arial, sans-serif;
|
|
|
|
background: #333;
|
|
background: -moz-linear-gradient(top, #222, #333);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#222), to(#333));
|
|
background: -webkit-linear-gradient(top, #222, #333);
|
|
background: -o-linear-gradient(top, #333, #222);
|
|
background: -ms-linear-gradient(top, #333, #222);
|
|
background: linear-gradient(top, #333, #222);
|
|
|
|
/* 1px top shadow */
|
|
/* -webkit-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.15);*/
|
|
}
|
|
|
|
.vjs-default-skin .vjs-current-time { left: 0; }
|
|
|
|
.vjs-default-skin .vjs-duration { right: 0; display: none; }
|
|
.vjs-default-skin .vjs-remaining-time { right: 0; }
|
|
|
|
.vjs-time-divider { display:none; }
|
|
|
|
.vjs-default-skin .vjs-time-control { font-size: 1em; line-height: 1; font-weight: normal; font-family: Helvetica, Arial, sans-serif; }
|
|
.vjs-default-skin .vjs-time-control span { line-height: 25px; /* Centering vertically */ }
|
|
|
|
/* Fullscreen
|
|
-------------------------------------------------------------------------------- */
|
|
.vjs-secondary-controls { float: right; }
|
|
|
|
.vjs-default-skin .vjs-fullscreen-control { width: 3.8em; cursor: pointer !important; float: right; }
|
|
.vjs-default-skin .vjs-fullscreen-control div { width: 16px; height: 16px; background: url('video-js.png') -50px 0; margin: 0.5em auto 0; }
|
|
|
|
.vjs-default-skin.vjs-fullscreen .vjs-fullscreen-control div { background: url('video-js.png') -75px 0; }
|
|
|
|
|
|
/* Big Play Button (at start)
|
|
---------------------------------------------------------*/
|
|
.vjs-default-skin .vjs-big-play-button {
|
|
display: block; /* Start hidden */ z-index: 2;
|
|
position: absolute; top: 50%; left: 50%; width: 8.0em; height: 8.0em; margin: -43px 0 0 -43px; text-align: center; vertical-align: center; cursor: pointer !important;
|
|
border: 0.3em solid #fff; opacity: 0.95;
|
|
-webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;
|
|
|
|
background: #454545;
|
|
background: -moz-linear-gradient(top, #454545 0%, #232323 50%, #161616 50%, #3f3f3f 100%);
|
|
background: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(0%,#454545), color-stop(50%,#232323), color-stop(50%,#161616), color-stop(100%,#3f3f3f));
|
|
background: -webkit-linear-gradient(top, #454545 0%,#232323 50%,#161616 50%,#3f3f3f 100%);
|
|
background: -o-linear-gradient(top, #454545 0%,#232323 50%,#161616 50%,#3f3f3f 100%);
|
|
background: -ms-linear-gradient(top, #454545 0%,#232323 50%,#161616 50%,#3f3f3f 100%);
|
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#454545', endColorstr='#3f3f3f',GradientType=0 );
|
|
background: linear-gradient(top, #454545 0%,#232323 50%,#161616 50%,#3f3f3f 100%);
|
|
|
|
/* CSS Shadows */
|
|
-webkit-box-shadow: 4px 4px 8px #000; -moz-box-shadow: 4px 4px 8px #000; box-shadow: 4px 4px 8px #000;
|
|
}
|
|
|
|
.vjs-default-skin div.vjs-big-play-button:hover {
|
|
-webkit-box-shadow: 0 0 80px #fff; -moz-box-shadow: 0 0 80px #fff; box-shadow: 0 0 80px #fff;
|
|
}
|
|
|
|
.vjs-default-skin div.vjs-big-play-button span {
|
|
position: absolute; top: 50%; left: 50%;
|
|
display: block; width: 35px; height: 42px;
|
|
margin: -20px 0 0 -15px; /* Using negative margin to center image. */
|
|
background: url('video-js.png') -100px 0;
|
|
} |