@folly-systems/custom-react-player
Version:
A simple and lightweight video player component that helps you customize controls for your videos.
159 lines (132 loc) • 2.67 kB
CSS
/*
Copyright (c) Folly Systems.
This source code is licensed under the MIT license found in the
LICENSE file in the root directory of this source tree.
*/
.videoContainer {
position: relative;
}
.videoContainer__videoComponent {
width: 100%;
height: 100%;
object-fit: cover;
}
.videoContainer__videoComponent--rounded {
border-radius: 4px;
}
.videoContainer__bufferSpinner {
height: 100%;
width: 100%;
background: transparent;
top: 0;
position: absolute;
z-index: 10;
pointer-events: none;
display: flex;
align-items: center;
justify-content: center;
}
.videoContainer__controlShadow {
position: absolute;
bottom: 0px;
width: 100%;
height: 18%;
pointer-events: none;
box-shadow: inset 0 -37px 34px -13px #000000;
}
.videoContainer__controlShadow--rounded {
border-radius: 0 0 4px 4px;
}
.videoContainer__controls {
position: absolute;
bottom: 0;
}
.videoContainer__controlButton {
display: flex;
width: 95%;
justify-content: space-between;
}
.videoContainer__controlButton--big {
margin: 10px auto;
}
.videoContainer__controlButton--small {
margin: 5px auto;
}
.videoContainer .controls__section--showOnHover {
transition: opacity 0.25s cubic-bezier(0, 0, 0.2, 1);
opacity: 0;
}
.videoContainer:hover .controls__section--showOnHover {
opacity: 1;
}
.controlSection {
min-width: 50%;
display: flex;
}
.controlSectionOne {
justify-content: flex-start;
align-items: center;
}
.controlSectionTwo {
justify-content: flex-end;
align-items: center;
}
.playerIcon {
min-width: 20px;
display: flex;
justify-content: center;
cursor: pointer;
outline: none;
}
.playerIcon:hover {
background: #1f263b;
opacity: 0.85;
border-radius: 2px;
}
.playerIcon--left {
margin-right: 20px;
margin-left: 0;
}
.playerIcon--right {
margin-right: 0;
margin-left: 20px;
}
.timeSection {
color: white;
user-select: none;
-webkit-user-select: none; /* Chrome/Safari */
-moz-user-select: none;
font-family: 'Open Sans', sans-serif;
}
.controlSection__speed {
font-size: 14px;
color: white;
cursor: pointer;
user-select: none;
width: 32px;
text-align: center;
font-family: 'Open Sans', sans-serif;
}
.videoContainer__videoLoadingOverlay {
height: 100%;
width: 100%;
background: rgba(0, 0, 0, 0.9);
top: 0;
position: absolute;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
}
.slider-container {
height: 8px;
width: 95%;
margin: auto;
}
.controls__section--showOnHover {
transition: opacity 0.25s cubic-bezier(0, 0, 0.2, 1);
opacity: 0;
}
.controls__section--showOnHover:hover {
opacity: 1;
}