hovertile
Version:
A port of Mary Lou's hover tiles to React
71 lines (61 loc) • 1.52 kB
CSS
figure.jazz {
background: -webkit-linear-gradient(-45deg, #f3cf3f 0%,#f33f58 100%);
background: linear-gradient(-45deg, #f3cf3f 0%,#f33f58 100%);
}
figure.jazz img {
opacity: 0.9;
}
figure.jazz figcaption::after,
figure.jazz img,
figure.jazz .hoverContent {
-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
transition: opacity 0.35s, transform 0.35s;
}
figure.jazz figcaption::after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-top: 1px solid #fff;
border-bottom: 1px solid #fff;
content: '';
opacity: 0;
-webkit-transform: rotate3d(0,0,1,45deg) scale3d(1,0,1);
transform: rotate3d(0,0,1,45deg) scale3d(1,0,1);
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
}
figure.jazz .content,
figure.jazz .hoverContent {
opacity: 1;
-webkit-transform: scale3d(0.8,0.8,1);
transform: scale3d(0.8,0.8,1);
}
figure.jazz .content {
padding-top: 26%;
-webkit-transition: -webkit-transform 0.35s;
transition: transform 0.35s;
}
figure.jazz .hoverContent {
padding: 0.5em 2em;
text-transform: none;
font-size: 0.85em;
opacity: 0;
}
figure.jazz:hover img {
opacity: 0.7;
-webkit-transform: scale3d(1.05,1.05,1);
transform: scale3d(1.05,1.05,1);
}
figure.jazz:hover figcaption::after {
opacity: 1;
-webkit-transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
transform: rotate3d(0,0,1,45deg) scale3d(1,1,1);
}
figure.jazz:hover .content,
figure.jazz:hover .hoverContent {
opacity: 1;
-webkit-transform: scale3d(1,1,1);
transform: scale3d(1,1,1);
}