An explanation, and more information, on my blog.
A Pen by Dudley Storey on CodePen.
An explanation, and more information, on my blog.
A Pen by Dudley Storey on CodePen.
<div class=multi-hover> | |
<span>Spiral Galaxy NGC 1309</span> | |
<span>Approximately 120 million light years from Earth</span> | |
<span>Home to several Cephid variable stars</span> | |
<span>Member of the Eridanus galactic cloud</span> | |
<img src="//demosthenes.info/assets/images/thumbnails/ngc-1309.jpg" alt="Photograph of NGC 1309"> | |
</div> |
function is_touch_device() { | |
return !!('ontouchstart' in window) | |
|| !!('onmsgesturechange' in window); | |
}; | |
$(document).ready(function() { | |
if (is_touch_device()) { | |
$('span').unbind('mousenter mouseleave touchend touchstart'); | |
$('span').bind('touchstart', function() { | |
$('span').removeClass('hover'); | |
$(this).addClass('hover'); | |
}); | |
} | |
}); |
@import url(http://fonts.googleapis.com/css?family=Orbitron); | |
body { margin: 2em; } | |
.multi-hover { | |
position: relative; | |
font-family: Orbitron, sans-serif; | |
max-width: 500px; | |
line-height: 0; | |
overflow: hidden; | |
} | |
.multi-hover img { | |
max-width: 100%; | |
} | |
.multi-hover span { | |
position: absolute; | |
width: 100%; | |
height: 100%; | |
line-height: 1.5; | |
font-weight: 100; | |
text-align: center; | |
box-sizing: border-box; | |
font-size: 3em; | |
z-index: 2; | |
transition: .3s linear; | |
color: white; | |
padding: 15%; | |
opacity: 0; | |
-webkit-touch-callout: none; | |
-webkit-user-select: none; | |
} | |
.multi-hover span:hover { opacity: 1; } | |
.multi-hover span:nth-child(odd):hover { left: 0; z-index: 3; } | |
.multi-hover span:nth-child(odd).hover { left: 0; z-index: 1; } | |
.multi-hover span:nth-child(even):hover { top: 0; z-index: 3; } | |
.multi-hover span:nth-child(even).hover { top: 0; z-index: 1; } | |
.multi-hover span:nth-child(1) { /* right panel */ | |
top: 0; | |
left: 90%; | |
background: hsla(0,70%,50%,0.6); | |
} | |
.multi-hover span:nth-child(2) { /* top panel */ | |
top: -90%; | |
left: 0; | |
background: hsla(90,70%,50%,0.6); | |
} | |
.multi-hover span:nth-child(3) { /* left panel */ | |
top: 0; | |
left: -90%; | |
background: hsla(180,70%,50%,0.6); | |
} | |
.multi-hover span:nth-child(4) { /* bottom panel */ | |
top: 90%; | |
left: 0; | |
background: hsla(270,70%,50%,0.6); } |