JSFiddle - React, Tailwind, and code Playground
by andyjh07
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-4">
<figure class="effect-bubba">
<img src="https://tympanus.net/Development/HoverEffectIdeas/img/2.jpg" alt="img02" />
<figcaption>
<h2>Portraits & Commercial</h2>
<p>Lorem ipsum dolar sit amet.</p>
<a href="#">View more</a>
</figcaption>
</figure>
</div>
<div class="col-xs-12 col-sm-6 col-md-4">
<figure class="effect-bubba">
<img src="https://tympanus.net/Development/HoverEffectIdeas/img/16.jpg" alt="img02" />
<figcaption>
<h2>Weddings</h2>
<p>Lorem ipsum dolar sit amet.</p>
<a href="#">View more</a>
</figcaption>
</figure>
</div>
<div class="col-xs-12 col-sm-6 col-md-4">
<figure class="effect-bubba">
<img src="https://tympanus.net/Development/HoverEffectIdeas/img/2.jpg" alt="img02" />
<figcaption>
<h2>Live Events</h2>
<p>Lorem ipsum dolar sit amet.</p>
<a href="#">View more</a>
</figcaption>
</figure>
</div>
</div>
</div>
CSS
*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }
.clearfix:before, .clearfix:after { display: table; content: ''; }
.clearfix:after { clear: both; }
body {
background: #2f3238;
color: #fff;
font-weight: 400;
font-size: 1em;
font-family: 'Raleway', Arial, sans-serif;
}
a {
outline: none;
color: #3498db;
text-decoration: none;
}
/* Common style */
.row figure {
position: relative;
float: left;
overflow: hidden;
margin: 15px 0;
width: 100%;
background: #3085a3;
text-align: center;
cursor: pointer;
}
.row figure img {
position: relative;
display: block;
min-height: 100%;
/* max-width: 100%; */
width: 100%;
opacity: 0.8;
}
.row figure figcaption {
padding: 2rem;
color: #fff;
text-transform: uppercase;
font-size: 1.25rem;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.row figure figcaption::before,
.row figure figcaption::after {
pointer-events: none;
}
.row figure figcaption,
.row figure figcaption > a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.row figure figcaption > a {
z-index: 1000;
text-indent: 100%;
white-space: nowrap;
font-size: 0;
opacity: 0;
}
.row figure h2 {
word-spacing: -0.15em;
font-weight: 300;
padding-left: 2rem;
}
.row figure h2 span {
font-weight: 800;
}
.row figure h2,
.row figure p {
margin: 0;
}
.row figure p {
letter-spacing: 1px;
font-size: 68.5%;
}
/*---------------*/
/***** Bubba *****/
/*---------------*/
figure.effect-bubba {
background: #9e5406;
}
figure.effect-bubba img {
opacity: 0.7;
-webkit-transition: opacity 0.35s;
transition: opacity 0.35s;
}
figure.effect-bubba:hover img {
opacity: 0.4;
}
figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
position: absolute;
top: 30px;
right: 30px;
bottom: 30px;
left: 30px;
content: '';
opacity:...