"FORKED: Responsive bs-carousel with hero headers"
Bootstrap 4.0.0 Snippet by bsrnlr

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="carousel fade-carousel slide" data-pause="click" id="bs-carousel"> <!-- Overlay --> <div class="overlay"></div> <video loop="loop" preload="auto" id="pretzel-video" autoplay class="video-playing"> <source src="//a0.muscache.com/airbnb/static/Paris-P1-1.mp4" type="video/mp4"> <source src="//a0.muscache.com/airbnb/static/Paris-P1-0.webm" type="video/webm"> </video> <!-- Indicators --> <ol class="carousel-indicators"> <li data-target="#bs-carousel" data-slide-to="0" class="active"></li> <li data-target="#bs-carousel" data-slide-to="1"></li> <li data-target="#bs-carousel" data-slide-to="2"></li> </ol> <!-- Wrapper for slides --> <div class="carousel-inner"> <div class="item slides active"> <div class="slide-1"></div> <div class="hero"> <hgroup> <h1>Welcome Home</h1> <h3>Get start your next awesome project</h3> </hgroup> <button class="btn btn-hero btn-lg" role="button">See all features</button> </div> </div> <div class="item slides"> <div class="slide-2"></div> <div class="hero"> <hgroup> <h1>We are smart</h1> <h3>Get start your next awesome project</h3> </hgroup> <button class="btn btn-hero btn-lg" role="button">See all features</button> </div> </div> <div class="item slides"> <div class="slide-3"></div> <div class="hero"> <hgroup> <h1>We are amazing</h1> <h3>Get start your next awesome project</h3> </hgroup> <button class="btn btn-hero btn-lg" role="button">See all features</button> </div> </div> </div>
/* Fade content bs-carousel with hero headers Code snippet by maridlcrmn (Follow me on Twitter @maridlcrmn) for Bootsnipp.com Image credits: unsplash.com */ .fade-carousel .carousel-inner .item { opacity: 0; -webkit-transition-property: opacity; -moz-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; } .fade-carousel .carousel-inner .active { opacity: 1; } .fade-carousel .carousel-inner .active.left, .fade-carousel .carousel-inner .active.right { left: 0; opacity: 0; z-index: 1; } .fade-carousel .carousel-inner .next.left, .fade-carousel .carousel-inner .prev.right { opacity: 1; } .fade-carousel .carousel-control { z-index: 2; } /********************************/ /* Fade Bs-carousel */ /********************************/ .fade-carousel { position: relative; height: 100vh; } .fade-carousel .carousel-inner .item { height: 100vh; } .fade-carousel .carousel-indicators > li { margin: 0 2px; background-color: #f39c12; border-color: #f39c12; opacity: .3; } .fade-carousel .carousel-indicators > li.active { width: 10px; height: 10px; opacity: 1; } /********************************/ /* Hero Headers */ /********************************/ .hero { position: absolute; top: 50%; left: 50%; z-index: 3; color: #fff; text-align: center; text-transform: uppercase; text-shadow: 1px 1px 0 rgba(0,0,0,.75); -webkit-transform: translate3d(-50%,-50%,0); -moz-transform: translate3d(-50%,-50%,0); -ms-transform: translate3d(-50%,-50%,0); -o-transform: translate3d(-50%,-50%,0); transform: translate3d(-50%,-50%,0); } .hero h1 { font-size: 6em; font-weight: bold; margin: 0; padding: 0; } .fade-carousel .carousel-inner .item .hero { opacity: 0; -webkit-transition: 3s all ease-in-out .5s; -moz-transition: 3s all ease-in-out .5s; -ms-transition: 3s all ease-in-out .5s; -o-transition: 3s all ease-in-out .5s; transition: 3s all ease-in-out .5s; } .fade-carousel .carousel-inner .item.active .hero { opacity: 1; -webkit-transition: 3s all ease-in-out .5s; -moz-transition: 3s all ease-in-out .5s; -ms-transition: 3s all ease-in-out .5s; -o-transition: 3s all ease-in-out .5s; transition: 3s all ease-in-out .5s; } /********************************/ /* Overlay */ /********************************/ .overlay { position: absolute; width: 100%; height: 100%; z-index: 2; } /********************************/ /* Video */ /********************************/ .video-playing { position: absolute; width: 100%; z-index: 1; } /********************************/ /* Custom Buttons */ /********************************/ .btn.btn-lg {padding: 10px 40px;} .btn.btn-hero, .btn.btn-hero:hover, .btn.btn-hero:focus { color: #f5f5f5; background-color: #1abc9c; border-color: #1abc9c; outline: none; margin: 20px auto; } /********************************/ /* Slides backgrounds */ /********************************/ .fade-carousel .slides .slide-1, .fade-carousel .slides .slide-2, .fade-carousel .slides .slide-3 { height: 100vh; background-size: cover; background-position: center center; background-repeat: no-repeat; } .fade-carousel .slides .slide-1 { } .fade-carousel .slides .slide-2 { } .fade-carousel .slides .slide-3 { } /********************************/ /* Media Queries */ /********************************/ @media screen and (min-width: 980px){ .hero { width: 980px; } } @media screen and (max-width: 640px){ .hero h1 { font-size: 4em; } }
window.addEventListener('load', function() { var video = document.querySelector('#pretzel-video'); function checkLoad() { if (video.readyState === 4) { $('.carousel').carousel({ interval: 8500 }, 'cycle'); } else { setTimeout(checkLoad, 100); } } checkLoad(); }, false);

Related: See More


Questions / Comments: