UNPKG

hovertile

Version:

A port of Mary Lou's hover tiles to React

128 lines (107 loc) 2.51 kB
figure.terry { background: #34495e; } figure.terry figcaption { padding: 1em; } figure.terry figcaption::before, figure.terry figcaption::after { position: absolute; width: 200%; height: 200%; border-style: solid; border-color: #101010; content: ''; -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; } figure.terry figcaption::before { right: 0; bottom: 0; border-width: 0 70px 60px 0; -webkit-transform: translate3d(70px,60px,0); transform: translate3d(70px,60px,0); } figure.terry figcaption::after { top: 0; left: 0; border-width: 15px 0 0 15px; -webkit-transform: translate3d(-15px,-15px,0); transform: translate3d(-15px,-15px,0); } figure.terry img, figure.terry .hoverContent a { -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s; } figure.terry img { opacity: 0.85; } figure.terry .content { position: absolute; bottom: 0; left: 0; padding: 0.4em 10px; width: 50%; -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s; -webkit-transform: translate3d(100%,0,0); transform: translate3d(100%,0,0); } @media screen and (max-width: 920px) { figure.terry .content { padding: 0.75em 10px; font-size: 120%; } } figure.terry .hoverContent { float: right; clear: both; text-align: left; text-transform: none; font-size: 111%; } figure.terry .hoverContent > * { display: block; margin-bottom: 1em; color: #fff; opacity: 0; -webkit-transform: translate3d(90px,0,0); transform: translate3d(90px,0,0); } figure.terry .hoverContent > *:hover, figure.terry .hoverContent > *:focus { color: #f3cf3f; } figure.terry:hover figcaption::before, figure.terry:hover figcaption::after { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.terry:hover img { opacity: 0.6; } figure.terry:hover .content, figure.terry:hover .hoverContent > * { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } figure.terry:hover .hoverContent > * { opacity: 1; } figure.terry:hover .hoverContent > *:first-child { -webkit-transition-delay: 0.025s; transition-delay: 0.025s; } figure.terry:hover .hoverContent > *:nth-child(2) { -webkit-transition-delay: 0.05s; transition-delay: 0.05s; } figure.terry:hover .hoverContent > *:nth-child(3) { -webkit-transition-delay: 0.075s; transition-delay: 0.075s; } figure.terry:hover .hoverContent > *:nth-child(4) { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }