hovertile
Version:
A port of Mary Lou's hover tiles to React
105 lines (88 loc) • 2.14 kB
CSS
figure.zoe figcaption {
top: auto;
bottom: 0;
padding: 1em;
height: 3.75em;
background: #fff;
color: #3c4a50;
-webkit-transition: -webkit-transform 0.35s;
transition: transform 0.35s;
-webkit-transform: translate3d(0,100%,0);
transform: translate3d(0,100%,0);
}
figure.zoe .content {
float: left;
}
figure.zoe .hoverContent.icon-links a {
float: right;
color: #3c4a50;
font-size: 1.4em;
}
figure.zoe:hover .hoverContent.icon-links a:hover,
figure.zoe:hover .hoverContent.icon-links a:focus {
color: #252d31;
}
figure.zoe .hoverContent.description {
position: absolute;
bottom: 8em;
padding: 2em;
color: #fff;
text-transform: none;
font-size: 90%;
opacity: 0;
-webkit-transition: opacity 0.35s;
transition: opacity 0.35s;
-webkit-backface-visibility: hidden; /* Fix for Chrome 37.0.2062.120 (Mac) */
}
figure.zoe .content,
figure.zoe .hoverContent.icon-links a {
-webkit-transition: -webkit-transform 0.35s;
transition: transform 0.35s;
-webkit-transform: translate3d(0,200%,0);
transform: translate3d(0,200%,0);
}
figure.zoe .hoverContent.icon-links a span::before {
display: inline-block;
padding: 8px 10px;
font-family: 'feathericons';
speak: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-eye::before {
content: '\e000';
}
.icon-paper-clip::before {
content: '\e001';
}
.icon-heart::before {
content: '\e024';
}
figure.zoe .content {
display: inline-block;
}
figure.zoe:hover .hoverContent.description {
opacity: 1;
}
figure.zoe:hover figcaption,
figure.zoe:hover .content,
figure.zoe:hover .hoverContent.icon-links a {
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
figure.zoe:hover .content {
-webkit-transition-delay: 0.05s;
transition-delay: 0.05s;
}
figure.zoe:hover .hoverContent.icon-links a:nth-child(3) {
-webkit-transition-delay: 0.1s;
transition-delay: 0.1s;
}
figure.zoe:hover .hoverContent.icon-links a:nth-child(2) {
-webkit-transition-delay: 0.15s;
transition-delay: 0.15s;
}
figure.zoe:hover .hoverContent.icon-links a:first-child {
-webkit-transition-delay: 0.2s;
transition-delay: 0.2s;
}