UNPKG

hovertile

Version:

A port of Mary Lou's hover tiles to React

98 lines (83 loc) 2.1 kB
figure.winston { background: #162633; text-align: left; } figure.winston img { -webkit-transition: opacity 0.45s; transition: opacity 0.45s; -webkit-backface-visibility: hidden; backface-visibility: hidden; } figure.winston figcaption::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./triangle.svg) no-repeat center center; background-size: 100% 100%; content: ''; -webkit-transition: opacity 0.45s, -webkit-transform 0.45s; transition: opacity 0.45s, transform 0.45s; -webkit-transform: rotate3d(0,0,1,45deg); transform: rotate3d(0,0,1,45deg); -webkit-transform-origin: 0 100%; transform-origin: 0 100%; } figure.winston .content { -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; -webkit-transform: translate3d(0,20px,0); transform: translate3d(0,20px,0); } figure.winston .hoverContent { position: absolute; right: 0; bottom: 0; padding: 0 1.5em 7% 0; } figure.winston > * { margin: 0 10px; color: #5d504f; font-size: 170%; } figure.winston a:hover, figure.winston a:focus { color: #cc6055; } figure.winston .hoverContent > * { opacity: 0; -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; -webkit-transform: translate3d(0,50px,0); transform: translate3d(0,50px,0); } figure.winston:hover img { opacity: 0.6; } figure.winston:hover .content { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.winston:hover figcaption::before { opacity: 0.7; -webkit-transform: rotate3d(0,0,1,20deg); transform: rotate3d(0,0,1,20deg); } figure.winston:hover .hoverContent > * { opacity: 1; -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.winston:hover .hoverContent > *:nth-child(3) { -webkit-transition-delay: 0.05s; transition-delay: 0.05s; } figure.winston:hover .hoverContent > *:nth-child(2) { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; } figure.winston:hover .hoverContent > *:first-child { -webkit-transition-delay: 0.15s; transition-delay: 0.15s; }