gallery/style/gallery.css

66 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);
}