Skip to content

Instantly share code, notes, and snippets.

@wplit
Created December 6, 2025 02:08
Show Gist options
  • Select an option

  • Save wplit/7c8d6e46f525981d955d28c3b33639cb to your computer and use it in GitHub Desktop.

Select an option

Save wplit/7c8d6e46f525981d955d28c3b33639cb to your computer and use it in GitHub Desktop.
add fade to either side of the slider depending on if first/last slide is visible. (add to element CSS settings)
%root% .splide__track {
--x-slider-mask-edge: 20%;
--x-slider-mask-edge-slope: 2;
mask-image: linear-gradient(to right, black 0%, black 100%);
-webkit-mask-image: linear-gradient(to right, black 0%, black 100%);
}
%root% .splide__track:has(.splide__slide:last-child:not(.is-visible)) {
mask-image: linear-gradient(
to right,
black 0%,
black calc(100% - var(--x-slider-mask-edge)),
rgba(0, 0, 0, 0.5) calc(100% - var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
transparent 100%
);
-webkit-mask-image: linear-gradient(
to right,
black 0%,
black calc(100% - var(--x-slider-mask-edge)),
rgba(0, 0, 0, 0.5) calc(100% - var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
transparent 100%
);
}
%root% .splide__track:has(.splide__slide:first-child:not(.is-visible)) {
mask-image: linear-gradient(
to right,
transparent 0%,
rgba(0, 0, 0, 0.5) calc(var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
black var(--x-slider-mask-edge),
black 100%
);
-webkit-mask-image: linear-gradient(
to right,
transparent 0%,
rgba(0, 0, 0, 0.5) calc(var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
black var(--x-slider-mask-edge),
black 100%
);
}
%root% .splide__track:has(.splide__slide:first-child:not(.is-visible)):has(.splide__slide:last-child:not(.is-visible)) {
mask-image: linear-gradient(
to right,
transparent 0%,
rgba(0, 0, 0, 0.5) calc(var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
black var(--x-slider-mask-edge),
black calc(100% - var(--x-slider-mask-edge)),
rgba(0, 0, 0, 0.5) calc(100% - var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
transparent 100%
);
-webkit-mask-image: linear-gradient(
to right,
transparent 0%,
rgba(0, 0, 0, 0.5) calc(var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
black var(--x-slider-mask-edge),
black calc(100% - var(--x-slider-mask-edge)),
rgba(0, 0, 0, 0.5) calc(100% - var(--x-slider-mask-edge) / var(--x-slider-mask-edge-slope)),
transparent 100%
);
}
@wplit
Copy link
Author

wplit commented Dec 6, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment