65 lines
1.1 KiB
CSS
65 lines
1.1 KiB
CSS
@import url(base.css);
|
|
|
|
body {
|
|
max-width: 50em;
|
|
}
|
|
|
|
.grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, var(--image-size));
|
|
grid-gap: 1.5em;
|
|
justify-content: center;
|
|
justify-items: center;
|
|
align-items: center;
|
|
|
|
--image-size: 200px;
|
|
--border-thickness: 2px;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.item {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
position: relative;
|
|
width: calc(var(--image-size) + 2 * var(--border-thickness));
|
|
height: calc(var(--image-size) + 2 * var(--border-thickness));
|
|
}
|
|
|
|
figure {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.item * {
|
|
transition: all 0.2s ease-in-out;
|
|
}
|
|
|
|
.item img {
|
|
border: 2px solid var(--text);
|
|
box-shadow: 0 0 10px var(--shadow);
|
|
}
|
|
|
|
.item figcaption {
|
|
width: calc(100% - 4 * var(--border-thickness));
|
|
margin: 0;
|
|
padding: var(--border-thickness);
|
|
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
|
|
background: hsl(0, 0%, 100%, 75%);
|
|
text-shadow: 0 0 2px white;
|
|
border: 2px solid var(--text);
|
|
}
|
|
|
|
.item:hover img {
|
|
filter: contrast(120%);
|
|
}
|
|
|
|
.item:hover figcaption {
|
|
opacity: 20%;
|
|
transform: translate(-5%, 80%) rotateZ(7deg);
|
|
}
|