react-jplayer
Version:
Html5 audio and video player library for React
325 lines (324 loc) • 8.81 kB
CSS
.jp-jplayer {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@media (max-width: 630px) {
.jp-jplayer .jp-state-full-screen .jp-poster {
height: auto;
}
}
.jp-hidden {
display: none;
}
.jp-state-no-volume-support .jp-mute,
.jp-state-no-volume-support .jp-volume-bar,
.jp-state-no-volume-support .jp-volume-bar-value {
display: none;
}
.jp-jplayer.jp-state-full-screen {
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background-color: black;
visibility: visible;
position: fixed;
}
.jp-jplayer.jp-state-full-screen .jp-gui {
position: absolute;
bottom: 0;
width: 100%;
}
.jp-jplayer.jp-state-full-screen .jp-gui .jp-poster {
top: 0;
left: 0;
right: 0;
bottom: 0;
max-width: 100%;
z-index: -1;
margin: 0 auto;
position: fixed;
display: inline-block;
}
.jp-state-audio.jp-jplayer.jp-state-full-screen .jp-media-container,
.jp-state-video.jp-jplayer.jp-state-full-screen .jp-media-container {
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
}
.jp-state-audio.jp-jplayer.jp-state-full-screen .jp-media-container video,
.jp-state-video.jp-jplayer.jp-state-full-screen .jp-media-container video {
width: 100%;
}
@media (max-width: 400px) {
.jp-sleek.jp-jplayer.jp-state-no-volume-support .jp-gui .jp-controls .jp-repeat {
display: none;
}
}
@media (max-width: 480px) {
.jp-sleek.jp-jplayer.jp-state-no-volume-support .jp-gui .jp-controls .jp-download {
display: none;
}
}
@media (max-width: 700px) {
.jp-sleek.jp-jplayer.jp-state-no-volume-support .jp-gui .jp-controls .jp-title {
display: none;
}
}
@media (max-width: 530px) {
.jp-sleek.jp-jplayer.jp-state-no-volume-support:not(.jp-state-full-screen) .jp-gui .jp-controls .jp-poster {
display: none;
}
}
@media (max-width: 354px) {
.jp-sleek.jp-state-video:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-volume-container {
display: none;
}
}
@media (max-width: 450px) {
.jp-sleek.jp-state-video:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-repeat {
display: none;
}
}
@media (max-width: 530px) {
.jp-sleek.jp-state-video:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-download {
display: none;
}
}
@media (max-width: 700px) {
.jp-sleek.jp-state-video:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-title {
display: none;
}
}
@media (max-width: 530px) {
.jp-sleek.jp-state-video:not(.jp-state-no-volume-support):not(.jp-state-full-screen) .jp-gui .jp-controls .jp-poster {
display: none;
}
}
@media (max-width: 400px) {
.jp-sleek.jp-jplayer.jp-state-audio:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-full-screen {
display: none;
}
}
@media (max-width: 450px) {
.jp-sleek.jp-jplayer.jp-state-audio:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-repeat {
display: none;
}
}
@media (max-width: 530px) {
.jp-sleek.jp-jplayer.jp-state-audio:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-download {
display: none;
}
}
@media (max-width: 750px) {
.jp-sleek.jp-jplayer.jp-state-audio:not(.jp-state-no-volume-support) .jp-gui .jp-controls .jp-title {
display: none;
}
}
@media (max-width: 580px) {
.jp-sleek.jp-jplayer.jp-state-audio:not(.jp-state-no-volume-support):not(.jp-state-full-screen) .jp-gui .jp-controls .jp-poster {
display: none;
}
}
.jp-sleek {
font-family: "Source Sans Pro", sans-serif;
}
.jp-state-video:not(.jp-state-idle).jp-sleek .jp-poster,
.jp-state-video.jp-state-playing.jp-sleek .jp-poster {
display: none;
}
.jp-state-video.jp-sleek .jp-media-container {
position: relative;
}
.jp-state-video.jp-sleek .jp-media-container .jp-poster {
max-height: 100%;
max-width: 100%;
}
.jp-state-video.jp-sleek .jp-media-container {
overflow: hidden;
display: table;
margin: 0 auto;
}
.jp-state-video.jp-sleek .jp-media-container video {
display: block;
}
.jp-state-video.jp-sleek .jp-media-container .jp-poster {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.jp-sleek .jp-gui {
position: fixed;
bottom: 0;
width: 100%;
height: 42px;
background-color: #e5e5e5;
}
:not(.jp-state-full-screen).jp-sleek .jp-gui {
z-index: 100;
}
.jp-state-no-browser-support.jp-sleek .jp-gui {
height: auto;
}
.jp-state-no-browser-support.jp-sleek .jp-gui .jp-controls {
display: none;
}
.jp-sleek .jp-gui .jp-no-browser-support {
display: inline-block;
margin-left: 10px;
font-size: 14px;
padding: 4px;
}
.jp-sleek .jp-gui .jp-no-browser-support h4 {
font-weight: bold;
font-size: 16px;
margin-top: 5px;
margin-bottom: 6px;
}
.jp-sleek .jp-gui .jp-controls {
height: inherit;
position: relative;
font-size: 24px;
white-space: nowrap;
display: table;
border-spacing: 5px 0;
margin: 0 auto;
}
.jp-sleek .jp-gui .jp-controls button {
font-size: inherit;
}
.jp-sleek .jp-gui .jp-controls .jp-title {
font-size: 12px;
font-weight: bold;
max-width: 230px;
min-width: 230px;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
vertical-align: middle;
}
.jp-state-audio.jp-sleek .jp-gui .jp-controls .jp-title {
margin-left: 10px;
}
.jp-state-audio.jp-sleek .jp-gui .jp-controls .jp-poster {
max-height: 100%;
height: 100%;
vertical-align: middle;
}
.jp-sleek .jp-gui .jp-controls > * {
vertical-align: middle;
height: inherit;
display: table-cell;
}
.jp-sleek .jp-gui .jp-controls .jp-repeat {
margin-left: 12px;
margin-right: 12px;
}
.jp-sleek .jp-gui .jp-controls .jp-progress {
background-color: #a1c1f4;
width: 500px;
min-width: 180px;
max-width: 500px;
font-size: 20px;
position: relative;
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-current-time,
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-duration {
padding: 0 12px;
position: relative;
display: inline-block;
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-duration {
right: 0;
position: absolute;
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-seek-bar {
cursor: pointer;
height: 100%;
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-seek-bar .jp-current-time,
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-seek-bar .jp-duration {
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-seek-bar .jp-play-bar {
background-color: #71a6fc;
height: 100%;
position: absolute;
}
.jp-sleek .jp-gui .jp-controls .jp-progress .jp-seek-bar .jp-buffer-bar {
height: 100%;
width: 100%;
position: absolute;
display: block;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container {
min-width: 42px;
position: relative;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container:hover .jp-volume-slider .jp-volume-bar-container {
height: 100px;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
transition-duration: 0.3s;
outline: solid 1px #cfcfcf;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container:hover .jp-volume-slider .jp-volume-bar-container .jp-volume-bar {
display: block;
bottom: 10%;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container .jp-mute {
height: inherit;
}
.jp-state-no-volume-support.jp-sleek .jp-gui .jp-controls .jp-volume-container {
display: none;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container .jp-volume-slider {
position: absolute;
top: 0;
height: 100%;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container .jp-volume-slider .jp-volume-bar-container {
background-color: #e5e5e5;
position: absolute;
height: 0;
width: 24px;
left: 8px;
bottom: 100%;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
transition-duration: 0.3s;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container .jp-volume-slider .jp-volume-bar-container .jp-volume-bar {
background-color: #a1c1f4;
cursor: pointer;
border-radius: 1px;
display: none;
-webkit-transform: translateX(-50%) rotate(180deg);
-moz-transform: translateX(-50%) rotate(180deg);
-ms-transform: translateX(-50%) rotate(180deg);
transform: translateX(-50%) rotate(180deg);
width: 8px;
height: 80px;
position: absolute;
bottom: 100%;
left: 50%;
}
.jp-sleek .jp-gui .jp-controls .jp-volume-container .jp-volume-slider .jp-volume-bar-container .jp-volume-bar .jp-volume-bar-value {
background-color: #71a6fc;
border-radius: inherit;
}