body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 0;
height: 100vh;
font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
:root {
--close-size: 12px;
--close-thickness: 2px;
--close-color: #eeeeee;
--close-hoverColor: #00adb5;
--close-background: rgba(0, 0, 0, 0.25);
--close-hoverBackground: rgba(255, 255, 255, 1);
}
@keyframes fadeIn {
from {
opacity: 0;
transform: scale(0);
}
to {
opacity: 1;
transform: scale(1);
}
}
.play {
appearance: none;
outline: none;
user-select: none;
}
.play::after {
display: block;
content: attr(data-title);
padding: 10px;
border-radius: 5px;
border: 1px solid #00adb5;
color: #00adb5;
cursor: pointer;
transition: all 0.5s ease;
}
.trailer {
position: fixed;
display: none;
align-items: center;
justify-content: center;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(5px);
overflow: hidden;
transition: all 0.5s ease;
}
.container {
position: relative;
width: 80vw;
border-radius: 5px;
animation: fadeIn 0.3s ease-in-out;
transform-origin: center;
}
.play:checked+.trailer {
display: flex;
}
/* Close Icon */
.close {
position: absolute;
right: 0;
top: 0;
cursor: pointer;
background: var(--close-background);
border-radius: 0 5px;
padding: 15px;
z-index: 10;
transition: all 0.5s ease;
}
.close:hover {
background: var(--close-hoverBackground);
}
.close:before,
.close:after {
position: absolute;
content: "";
height: var(--close-size);
width: var(--close-thickness);
background: var(--close-color);
left: 45%;
top: 30%;
border-radius: 25px;
transition: all 0.5s ease;
}
.close:hover:before,
.close:hover:after {
background: var(--close-hoverColor);
}
.close:before {
transform: rotate(45deg);
}
.close:after {
transform: rotate(-45deg);
}
/* Close Icon */
video {
box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
width: 100%;
border-radius: 5px;
}
<div class="item">
<input id="trailer" class="play" type="checkbox" data-title="Watch Trailer!" />
<div class="trailer">
<div class="container">
<video src="./trailer.mp4" poster="https://picsum.photos/350/200?random=1" controls="true"></video>
<label for="trailer" class="close"></label>
</div>
</div>
</div>
<div class="item">
<input id="trailer2" class="play" type="checkbox" data-title="Watch Trailer!" />
<div class="trailer">
<div class="container">
<video src="./trailer.mp4" poster="https://picsum.photos/350/200?random=2" controls="true"></video>
<label for="trailer2" class="close"></label>
</div>
</div>
</div>
<div class="item">
<input id="trailer3" class="play" type="checkbox" data-title="Watch Trailer!" />
<div class="trailer">
<div class="container">
<video src="./trailer.mp4" poster="https://picsum.photos/350/200?random=3" controls="true"></video>
<label for="trailer3" class="close"></label>
</div>
</div>
</div>