hovertile
Version:
A port of Mary Lou's hover tiles to React
80 lines (71 loc) • 1.34 kB
CSS
*, *:after, *:before {
-webkit-box-sizing: border-box; box-sizing: border-box;
}
.clearfix:before, .clearfix:after {
display: table; content: '';
}
.clearfix:after {
clear: both;
}
.grid {
position: relative;
margin: 0 auto;
max-width: 1000px;
list-style: none;
text-align: center;
}
/* Common style */
.grid figure {
position: relative;
float: left;
overflow: hidden;
margin: 10px 1%;
min-width: 320px;
max-width: 480px;
max-height: 360px;
width: 48%;
background: #3085a3;
text-align: center;
cursor: pointer;
}
.grid figure img {
position: relative;
display: block;
min-height: 100%;
max-width: 100%;
opacity: 0.8;
}
.grid figure figcaption {
padding: 2em;
color: #fff;
text-transform: uppercase;
font-size: 1.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.grid figure figcaption::before,
.grid figure figcaption::after {
pointer-events: none;
}
.grid figure figcaption,
.grid figure figcaption > .clickbox {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > .clickbox {
z-index: 1000;
text-indent: 200%;
white-space: nowrap;
font-size: 0;
opacity: 0;
}
.grid .clickbox > * {
display: block;
width: 100%;
height: 100%;
}