python-gallery/gallery/user/themes/default/ui/gallery.scss
Michał 0414cda5d3 Fix image ICC profile getting lost on compression
Fix setup not holding all required modules
Add temporary theme to login and upload page
Other random bug fixes
2023-01-17 22:13:52 +00:00

161 lines
2.8 KiB
SCSS

@keyframes imgLoading {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.gallery {
margin: 0;
padding: 0;
width: 100%;
display: grid;
grid-template-columns: auto auto auto auto auto auto auto auto;
gap: 0.5rem;
}
@media (max-width: 1550px) {
.gallery {
grid-template-columns: auto auto auto auto auto auto auto;
}
}
@media (max-width: 1300px) {
.gallery {
grid-template-columns: auto auto auto auto auto auto;
}
}
@media (max-width: 1050px) {
.gallery {
grid-template-columns: auto auto auto auto auto;
}
}
@media (max-width: 800px) {
.gallery {
grid-template-columns: auto auto auto auto;
}
}
@media (max-width: 550px) {
.gallery {
grid-template-columns: auto auto auto;
}
}
.gallery__item {
margin: 0;
padding: 0;
height: auto;
position: relative;
background: linear-gradient(-45deg, $black100, $black400, $black100);
background-size: 400% 400%;
border-radius: $rad;
animation: imgLoading 10s ease infinite;
box-sizing: border-box;
overflow: hidden;
&:after {
content: "";
display: block;
padding-bottom: 100%;
}
}
.gallery__item-info {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
position: absolute;
left: 0;
bottom: 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
background-image: linear-gradient(to bottom, #00000000, rgba($black100, 0.8));
z-index: +1;
opacity: 0; // hide
transform: scale(1.05); // scale up
transition: all 0.5s cubic-bezier(.79, .14, .15, .86);
h2 {
margin: 0;
padding: 0 1rem 0.5rem;
font-family: $font-header;
font-size: 1rem;
font-stretch: ultra-expanded;
font-weight: 600;
color: $green;
text-overflow: ellipsis;
overflow: hidden;
opacity: 0; // hide
transition: all 0.2s ease-in-out;
}
p {
margin: 0;
padding: 0 1rem 0.5rem;
font-family: $font-body;
font-size: 0.8rem;
font-weight: 500;
color: $white100;
text-overflow: ellipsis;
overflow: hidden;
opacity: 0; // hide
transition: all 0.2s ease-in-out;
}
&:hover {
opacity: 1;
transform: scale(1);
h2,
p {
opacity: 1;
}
}
}
.gallery__item-image {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
object-fit: cover;
object-position: center;
background-color: $black200;
border-radius: $rad;
}