JSFiddle - React, Tailwind, and code Playground
HTML
<div class="tiles">
<div class="tile">
<div class="tileInner">
<div class="title">Tile Title</div>
</div>
<div class="tileOverlay">
<div class="tileInner">
<div class="title">Overlay Title</div>
<div class="description">Tile description goes here.</div>
</div>
</div>
</div>
<div class="tile">
<div class="tileInner">
<div class="title">Tile Title</div>
</div>
<div class="tileOverlay">
<div class="tileInner">
<div class="title">Overlay Title</div>
<div class="description">Tile description goes here.</div>
</div>
</div>
</div>
<div class="tile">
<div class="tileInner">
<div class="title">Tile Title</div>
</div>
<div class="tileOverlay">
<div class="tileInner">
<div class="title">Overlay Title</div>
<div class="description">Tile description goes here.</div>
</div>
</div>
</div>
<div class="tile">
<div class="tileInner">
<div class="title">Tile Title</div>
</div>
<div class="tileOverlay">
<div class="tileInner">
<div class="title">Overlay Title</div>
<div class="description">Tile description goes here.</div>
</div>
</div>
</div>
<div class="tile">
<div class="tileInner">
<div class="title">Tile Title</div>
</div>
<div class="tileOverlay">
<div class="tileInner">
...
CSS
body {
padding: 4px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
line-height: 16px;
}
.clear {
clear: both;
}
.tiles {
background-color: #ccc;
padding: 2px;
}
.tile {
position: relative;
z-index: 0;
float: left;
width: 130px;
height: 50px;
border: 1px solid black;
margin: 5px;
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
-webkit-transition: all 0.25s ease-in-out 0s;
-moz-transition: all 0.25s ease-in-out 0s;
-o-transition: all 0.25s ease-in-out 0s;
transition: all 0.25s ease-in-out 0s;
}
.tile:hover {
z-index: 5;
-webkit-transition: all 0.25s ease-in-out 0.5s;
-moz-transition: all 0.25s ease-in-out 0.5s;
-o-transition: all 0.25s ease-in-out 0.5s;
transition: all 0.25s ease-in-out 0.5s;
-webkit-transform: scale(2.25);
-moz-transform: scale(2.25);
-o-transform: scale(2.25);
transform: scale(2.25);
}
.tileInner {
padding: 5px;
}
.tileOverlay {
opacity: 0;
color: #000000;
background: #ffcccc;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-webkit-transition: opacity 0.25s ease-in-out 0s;
-moz-transition: opacity 0.25s ease-in-out 0s;
-o-transition: opacity 0.25s ease-in-out 0s;
transition: opacity 0.25s ease-in-out 0s;
}
.tile:hover .tileOverlay {
opacity: 1;
-webkit-transition: opacity 0.25s ease-in-out 0.5s;
-moz-transition: opacity 0.25s ease-in-out 0.5s;
-o-transition: opacity 0.25s ease-in-out 0.5s;
transition: opacity 0.25s ease-in-out 0.5s;
}
.description {
text-align: right;
font-size: 8px;
}
JavaScript
$('.tile:odd').find('.tileOverlay').find('.description').text('every second tile');
$('.tile:first').find('.tileOverlay').find('.description').text('first tile');
$('.tile:last').find('.tileOverlay').find('.description').text('last tile');