A slideshow across a page: pictures the full width of the screen, captions over them
Test / test (pull_request) Failing after 1m5s
Test / test (pull_request) Failing after 1m5s
slideshow on a page: max_height in svh, slides with an image (a path in the content repo or https), a caption laid over the picture's foot, and optionally the picture's size so its place is held before it loads. Swiper upgrades it; before that it is a row that scrolls. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
fc708c3546
commit
cfb050d3ef
@@ -269,6 +269,69 @@ main.not-found {
|
||||
/* position + z-index on these three: everything that scrolls over the
|
||||
sticky canvas must be a positioned box above the hero's z-index 0,
|
||||
or the (positioned) hero would paint over it. */
|
||||
/* Pictures across the page (`slideshow`): the full width of the
|
||||
screen, every picture the strip's height and as wide as its own
|
||||
shape, never wider than the screen. The caption floats over the
|
||||
foot of its picture. */
|
||||
.slideshow {
|
||||
--swiper-navigation-color: #fff;
|
||||
--swiper-navigation-size: 1.8rem;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: var(--slideshow-height, 60svh);
|
||||
max-height: var(--slideshow-height, 60svh);
|
||||
margin: 0 0 3rem;
|
||||
}
|
||||
|
||||
/* Before the Swiper bundle has upgraded the element, or without it:
|
||||
a row that scrolls sideways. */
|
||||
.slideshow:not(:defined) {
|
||||
display: flex;
|
||||
gap: 6px;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.slideshow swiper-slide {
|
||||
flex: none;
|
||||
width: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.slide {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.slide img {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: auto;
|
||||
/* A picture that has not loaded and says nothing of its size still
|
||||
takes a place, or the whole strip would sit in view at once. */
|
||||
min-width: 12rem;
|
||||
max-width: 100vw;
|
||||
object-fit: cover;
|
||||
background: var(--line);
|
||||
}
|
||||
|
||||
.slide figcaption {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
padding: 2.4rem 1rem 0.9rem;
|
||||
color: #fff;
|
||||
font-size: 0.95rem;
|
||||
line-height: 1.35;
|
||||
text-shadow: 0 0.06rem 0.2rem rgba(0, 0, 0, 0.6);
|
||||
background: linear-gradient(to top, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0));
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.alternatives {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
||||
Reference in New Issue
Block a user