MediaWiki:Common.css: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 58: | Line 58: | ||
33% { opacity: 0; } | 33% { opacity: 0; } | ||
100% { opacity: 0; } | 100% { opacity: 0; } | ||
} | |||
/* ===== MOBILE FALLBACK: Always cycle alt images on mobile ===== */ | |||
@media (hover: none) and (pointer: coarse) { | |||
.hover-gallery .alt-image { | |||
animation-name: fadeCycle; | |||
} | |||
.hover-gallery .main-image { | |||
opacity: 0; | |||
} | |||
} | } | ||
Revision as of 12:13, 31 July 2025
/* CSS placed here will be applied to all skins */
.hover-gallery {
position: relative;
overflow: hidden;
display: inline-block;
}
.hover-gallery img {
width: 100%;
height: auto;
display: block;
}
/* MAIN IMAGE: Visible by default */
.hover-gallery .main-image {
position: relative;
z-index: 1;
opacity: 1;
transition: opacity 0.5s ease-in-out;
}
/* ALT IMAGES: Positioned above, hidden by default */
.hover-gallery .alt-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
opacity: 0;
pointer-events: none;
z-index: 2;
transition: opacity 0.5s ease-in-out;
animation-duration: 6s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
animation-fill-mode: both;
}
/* On hover: hide main image and start animation */
.hover-gallery:hover .main-image {
opacity: 0;
}
/* On hover: activate animation on alt images */
.hover-gallery:hover .alt-image {
animation-name: fadeCycle;
}
/* Apply staggered delays to alternate images */
.hover-gallery .alt-image:nth-of-type(2) { animation-delay: 0s; }
.hover-gallery .alt-image:nth-of-type(3) { animation-delay: 2s; }
.hover-gallery .alt-image:nth-of-type(4) { animation-delay: 4s; }
/* Keyframes: show each image for 1.5s, fade in and out cleanly */
@keyframes fadeCycle {
0% { opacity: 1; }
25% { opacity: 1; }
33% { opacity: 0; }
100% { opacity: 0; }
}
/* ===== MOBILE FALLBACK: Always cycle alt images on mobile ===== */
@media (hover: none) and (pointer: coarse) {
.hover-gallery .alt-image {
animation-name: fadeCycle;
}
.hover-gallery .main-image {
opacity: 0;
}
}