"Untitled"
Bootstrap 4.1.1 Snippet by Misak

<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!------ Include the above in your HEAD tag ----------> <main id="main"> <nav class="nav"> <a href="#" class="nav-item active" data-rel="project">All</a> <a href="#" class="nav-item" data-rel="option-1">Silhouettes</a> <a href="#" class="nav-item" data-rel="option-2">Competitions</a> <a href="#" class="nav-item" data-rel="option-3">Extreme</a> </nav> <ul class="portfolio"> <li class="project option-1"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/1/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Cricket Tourney</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-2"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/2/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Surfing</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-3"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/3/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Tour De Force</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-2"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/10/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Baseball Season</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-3"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/5/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">BMX Arrives</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-1"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/6/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">World Cup 2016</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-3"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/7/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">100 Meter Swim</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-1"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/8/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Kung Fu</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> <li class="project option-2"> <div class="project-image"><img src="http://lorempixel.com/400/400/sports/9/" alt="Sports Image" /></div> <div class="project-info"> <h2 class="project-info-title">Women's Relay</h2> <a class="project-info-button" href="#">View Project</a> </div> </li> </ul> </main>
@import url(https://fonts.googleapis.com/css?family=Montserrat:700); @import url(https://fonts.googleapis.com/css?family=Merriweather); $primary-font : "Merriweather", serif; $secondary-font : "Montserrat", sans-serif; $white : rgb(255,255,255); $beige : rgb(246,246,246); $grey : rgb(89,89,89); $black : rgb(0,0,0); body { font-family: $primary-font } h1, h2, h3, h4, h5, h6 { font-family: $secondary-font; } *, *:before, *:after { box-sizing: border-box; } #main { display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 1260px; margin: 0 auto; } // list styles .nav { display: flex; flex-flow: row wrap; justify-content: center; flex: 1 1 auto; padding: 10px 20px; margin-top: 40px; } .nav-item { position: relative; padding: 0 5px; margin: 0 5px; font: { size: 1.5em; weight: 700; } color: $grey; text-decoration: none; line-height: 1.5; &:before { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: $grey; transition: all 500ms; } &.active { color: $black; transition: all 350ms; &:before { width: 100%; } } } // Portfolio Styles .portfolio { display: flex; flex-flow: row wrap; padding: 0; margin: 0; list-style: none; } .project { position: relative; flex: 1 0 calc(100% - 20px); margin: 10px; &:hover { .project-info { background: rgba($grey,.7); } } @media (min-width: 520px) { flex: 0 0 calc((100% / 2) - 20px); } @media (min-width: 860px) { flex: 0 0 calc((100% / 3) - 20px); } } .project-image img { display: block; width: 100%; height: auto; } .project-info { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 40px; color: $beige; background: rgba($grey,.8); opacity: 0; transition: all 350ms ease-in; &:hover { opacity: 1; } @media (max-width: 520px) { opacity: .8; } } .project-info-title { margin: 0 0 .5em; font-size: 2.5em; text: { align: center; transform: uppercase; } } .project-info-button { padding: .5em 1em; color: inherit; text: { decoration: none; } border: 1px solid $beige; border-radius: 3px; transition: all 350ms; &:hover { color: $grey; background: $beige; border-color: $beige; } }
$(document).ready(function(){ $('.nav-item').click(function(){ // reset active class $('.nav-item').removeClass("active"); // add active class to selected $(this).addClass("active"); // return needed to make function work return false; }); $(function() { // create an empty variable var selectedClass = ""; // call function when item is clicked $(".nav-item").click(function(){ // assigns class to selected item selectedClass = $(this).attr("data-rel"); // fades out all portfolio items $(".portfolio li").fadeOut(300); // fades in selected category $(".portfolio li." + selectedClass).delay(300).fadeIn(300); }); }); }); // document ready

Related: See More


Questions / Comments: