JS file CSS file HTML file
$(document).ready(function() {
// click on navigation items
$('nav a').on('click', function() {
$('nav li.current').removeClass('current');
// parent add class
$(this).parent().addClass('current');
// set heading text
$('h1#heading').text($(this).text());
// apply filter to link text
var category = $(this).text().toLowerCase().replace(' ', '-');
// remove hidden class if all projects is selected
if(category == 'all-projects') {
$('ul#gallery li:hidden').fadeIn('slow').removeClass('hidden');
} else { // if not 'all projects' selected, loop through categories
$('ul#gallery li').each(function() {
if(!$(this).hasClass(category)) {
$(this).hide().addClass('hidden'); // if this category not matching, add class 'hidden'
} else {
$(this).fadeIn('slow').removeClass('hidden'); // if the category matching, fadein and remove class 'hidden'
}
});
}
// prevent link behaviour
return false;
});
// mouse enter and mouse leave events
$('ul#gallery li').on('mouseenter', function() {
// get data attr value
var title = $(this).children().data('title');
var desc = $(this).children().data('desc');
// validation
if(desc == null) {
desc = 'Click to Enlarge';
}
if(title == null) {
title = ''; // empty title
}
// create overlay div
$(this).append('<div class="overlay"></div>');
// get overlay div
var overlay = $(this).children('.overlay');
// add html to overlay
overlay.html('<h3>'+title+'</h3><p>'+desc+'</p>');
// fadein overlay
overlay.fadeIn(500);
});
// Mouseleave Overlay Effect
$('ul#gallery li').on('mouseleave',function(){
// Create an overlay div
$(this).append('<div class="overlay"></div>');
// Get the overlay div
var overlay = $(this).children('.overlay');
// Fade out overlay
overlay.fadeOut(500);
});
});
body {
margin:0;
padding:0;
font-family: 'Arial', sans-serif;
font-size: 15px;
color: #666;
line-height: 1.6em;
}
a {
color: #666;
text-decoration: none;
}
.container {
width: 80%;
margin: auto;
overflow: auto;
}
header {
min-height: 55px;
background: #333;
color: #FFF;
}
header a {
color: #FFF;
}
.logo {
float: left;
width: 30%;
margin-top: 15px;
}
nav {
float: right;
width: 70%;
}
nav ul {
float: right;
}
nav li {
list-style: none;
float: left;
padding: 0 10px;
}
nav a {
color: #FFF;
padding-bottom: 5px;
}
nav li.current a, nav a:hover {
color: #DD2826;
border-bottom: 3px solid #DD2826;
}
section {
padding: 20px 0;
overflow: hidden;
}
.tagline {
background: #DD2826;
color: #FFF;
}
.tagline h1 {
text-align: center;
font-size: 35px;
}
#gallery {
list-style: none;
margin: 0;
padding: 0;
width: 100%;
}
#gallery li {
display: block;
float: left;
width: 23%;
cursor: pointer;
line-height: 105%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0 12px 7px 0;
position: relative;
}
#gallery img {
width: 100%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
footer {
background: #DD2826;
height: 55px;
color: #FFF;
text-align: center;
padding-top: 10px;
}
.overlay {
display: none;
background: #5BB url(../images/overlay.png) top center no-repeat;
color: #FFF;
position: absolute;
top: 0;
left: 0;
z-index: 100;
width: 100%;
height: 100%;
padding: 20px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
pointer-events: none;
}
.overlay h3 {
margin: 0;
padding: 0;
}
@media(max-width: 768px){
.logo, nav{
float:none;
width:100%;
text-align:center;
}
nav ul, nav li{
float:none;
padding:0;
}
nav li{
margin-bottom:15px;
}
#gallery li{
width:48%;
margin-right:8px;
}
.tagline h1 {
font-size: 24px;
}
}
@media(max-width: 568px){
#gallery li{
width:100%;
margin-right:0;
}
.tagline h1 {
font-size: 20px;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Portfolio Gallery</title>
<link rel="stylesheet" href="css/app.css">
<link rel="stylesheet" href="css/lightbox.css">
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="js/lightbox.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<header>
<div class="container">
<h1 class="logo">IC Gallery</h1>
<nav>
<ul>
<li><a href="#">All Projects</a></li>
<li><a href="#">Design</a></li>
<li><a href="#">Coding</a></li>
<li><a href="#">CMS</a></li>
</ul>
</nav>
</div>
</header>
<section class="tagline">
<div class="container">
<h1>View My Projects</h1>
</div>
</section>
<section>
<div class="container">
<h1 id="heading">All Projects</h1>
<ul id="gallery">
<li class="design"><a href="images/web1.jpg" data-lightbox="projects" data-title="Project 1" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web1.jpg" alt=""></a></li>
<li class="design coding"><a href="images/web2.jpg" data-lightbox="projects" data-title="Project 2" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web2.jpg" alt=""></a></li>
<li class="cms"><a href="images/web3.jpg" data-lightbox="projects" data-title="Project 3" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web3.jpg" alt=""></a></li>
<li class="design cms coding"><a href="images/web4.jpg" data-lightbox="projects" data-title="Project 4" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web4.jpg" alt=""></a></li>
<li class="design"><a href="images/web5.jpg" data-lightbox="projects" data-title="Project 5" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web5.jpg" alt=""></a></li>
<li class="coding"><a href="images/web6.jpg" data-lightbox="projects" data-title="Project 6" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web6.jpg" alt=""></a></li>
<li class="design cms"><a href="images/web7.jpg" data-lightbox="projects" data-title="Project 7" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web7.jpg" alt=""></a></li>
<li class="cms"><a href="images/web8.jpg" data-lightbox="projects" data-title="Project 8" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web8.jpg" alt=""></a></li>
<li class="design cms"><a href="images/web9.jpg" data-lightbox="projects" data-title="Project 9" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web9.jpg" alt=""></a></li>
<li class="design cms coding"><a href="images/web10.jpg" data-lightbox="projects" data-title="Project 10" data-desc="Lorem ipsum dolor sit amet, consectetur adipisicing elit."><img src="images/web10.jpg" alt=""></a></li>
</ul>
</div>
</section>
<footer>
<p>Copyright © 2015</p>
</footer>
</body>
</html>
Get light box plugin files from: http://lokeshdhakar.com/projects/lightbox2/