@@ -3,9 +3,8 @@ import { Carousel, Navigation, Slide } from '../../dist/carousel.mjs'
3
3
import ' ../../dist/carousel.css'
4
4
5
5
const config = {
6
- itemsToShow: 3.95 ,
6
+ itemsToShow: 4 ,
7
7
wrapAround: true ,
8
- transition: 500 ,
9
8
}
10
9
</script >
11
10
@@ -21,10 +20,12 @@ const config = {
21
20
</Carousel >
22
21
</template >
23
22
24
-
25
- <style scoped>
26
- .carousel__slide {
27
- padding : 5px ;
23
+ <style >
24
+ :root {
25
+ --carousel-transition : 300ms ;
26
+ --carousel-opacity-inactive : 0.7 ;
27
+ --carousel-opacity-active : 1 ;
28
+ --carousel-opacity-near : 0.9 ;
28
29
}
29
30
30
31
.carousel__viewport {
@@ -33,34 +34,38 @@ const config = {
33
34
34
35
.carousel__track {
35
36
transform-style : preserve-3d ;
36
- width : 100% ;
37
37
}
38
38
39
39
.carousel__slide--sliding {
40
- transition : 0.5 s ;
40
+ transition : opacity var ( --carousel-transition ), transform var ( --carousel-transition ) ;
41
41
}
42
42
43
- .carousel__slide {
44
- opacity : 0.9 ;
45
- transform : rotateY (-20deg ) scale (0.9 );
43
+ .carousel.is-dragging .carousel__slide {
44
+ transition : opacity var (--carousel-transition ), transform var (--carousel-transition );
46
45
}
47
46
48
- .carousel__slide--active ~ .carousel__slide {
49
- transform : rotateY (20deg ) scale (0.9 );
47
+ .carousel__slide {
48
+ opacity : var (--carousel-opacity-inactive );
49
+ transform : translateX (10px ) rotateY (-12deg ) scale (0.9 );
50
50
}
51
51
52
52
.carousel__slide--prev {
53
- opacity : 1 ;
53
+ opacity : var ( --carousel-opacity-near ) ;
54
54
transform : rotateY (-10deg ) scale (0.95 );
55
55
}
56
56
57
- .carousel__slide.carousel__slide--next {
58
- opacity : 1 ;
57
+ .carousel__slide--active {
58
+ opacity : var (--carousel-opacity-active );
59
+ transform : rotateY (0 ) scale (1 );
60
+ }
61
+
62
+ .carousel__slide--next {
63
+ opacity : var (--carousel-opacity-near );
59
64
transform : rotateY (10deg ) scale (0.95 );
60
65
}
61
66
62
- .carousel__slide--active {
63
- opacity : 1 ;
64
- transform : rotateY (0 ) scale (1 );
67
+ .carousel__slide--next ~ .carousel__slide {
68
+ opacity : var ( --carousel-opacity-inactive ) ;
69
+ transform : translateX ( -10 px ) rotateY (12 deg ) scale (0.9 );
65
70
}
66
71
</style >
0 commit comments