Skip to content

Commit 45b98d0

Browse files
committed
fix(core): support slidesOffsetBefore and slidesOffsetAfert in cssMode
fixes #7926
1 parent d35f41a commit 45b98d0

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/core/update/updateSlides.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ export default function updateSlides() {
6969
setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');
7070
}
7171

72+
// set cssMode offsets
73+
if (params.cssMode) {
74+
setCSSProperty(wrapperEl, '--swiper-slides-offset-before', `${offsetBefore}px`);
75+
setCSSProperty(wrapperEl, '--swiper-slides-offset-after', `${offsetAfter}px`);
76+
}
77+
7278
const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
7379
if (gridEnabled) {
7480
swiper.grid.initSlides(slides);

src/swiper.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,25 @@
103103
> .swiper-wrapper {
104104
scroll-snap-type: x mandatory;
105105
}
106+
> .swiper-wrapper > .swiper-slide:first-child {
107+
margin-inline-start: var(--swiper-slides-offset-before);
108+
scroll-margin-inline-start: var(--swiper-slides-offset-before);
109+
}
110+
> .swiper-wrapper > .swiper-slide:last-child {
111+
margin-inline-end: var(--swiper-slides-offset-after);
112+
}
106113
}
107114
&.swiper-vertical {
108115
> .swiper-wrapper {
109116
scroll-snap-type: y mandatory;
110117
}
118+
> .swiper-wrapper > .swiper-slide:first-child {
119+
margin-block-start: var(--swiper-slides-offset-before);
120+
scroll-margin-block-start: var(--swiper-slides-offset-before);
121+
}
122+
> .swiper-wrapper > .swiper-slide:last-child {
123+
margin-block-end: var(--swiper-slides-offset-after);
124+
}
111125
}
112126
&.swiper-free-mode {
113127
> .swiper-wrapper {

0 commit comments

Comments
 (0)