pagination.scss 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. @import '../../swiper-vars.scss';
  2. :root {
  3. /*
  4. --swiper-pagination-color: var(--swiper-theme-color);
  5. --swiper-pagination-bullet-size: 8px;
  6. --swiper-pagination-bullet-width: 8px;
  7. --swiper-pagination-bullet-height: 8px;
  8. --swiper-pagination-bullet-inactive-color: #000;
  9. --swiper-pagination-bullet-inactive-opacity: 0.2;
  10. --swiper-pagination-bullet-opacity: 1;
  11. --swiper-pagination-bullet-horizontal-gap: 4px;
  12. --swiper-pagination-bullet-vertical-gap: 6px;
  13. */
  14. }
  15. .swiper-pagination {
  16. position: absolute;
  17. text-align: center;
  18. transition: 300ms opacity;
  19. transform: translate3d(0, 0, 0);
  20. z-index: 10;
  21. &.swiper-pagination-hidden {
  22. opacity: 0;
  23. }
  24. }
  25. /* Common Styles */
  26. .swiper-pagination-fraction,
  27. .swiper-pagination-custom,
  28. .swiper-horizontal > .swiper-pagination-bullets,
  29. .swiper-pagination-bullets.swiper-pagination-horizontal {
  30. bottom: 10px;
  31. left: 0;
  32. width: 100%;
  33. }
  34. /* Bullets */
  35. .swiper-pagination-bullets-dynamic {
  36. overflow: hidden;
  37. font-size: 0;
  38. .swiper-pagination-bullet {
  39. transform: scale(0.33);
  40. position: relative;
  41. }
  42. .swiper-pagination-bullet-active {
  43. transform: scale(1);
  44. }
  45. .swiper-pagination-bullet-active-main {
  46. transform: scale(1);
  47. }
  48. .swiper-pagination-bullet-active-prev {
  49. transform: scale(0.66);
  50. }
  51. .swiper-pagination-bullet-active-prev-prev {
  52. transform: scale(0.33);
  53. }
  54. .swiper-pagination-bullet-active-next {
  55. transform: scale(0.66);
  56. }
  57. .swiper-pagination-bullet-active-next-next {
  58. transform: scale(0.33);
  59. }
  60. }
  61. .swiper-pagination-bullet {
  62. width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  63. height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  64. display: inline-block;
  65. border-radius: 50%;
  66. background: var(--swiper-pagination-bullet-inactive-color, #000);
  67. opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  68. @at-root button#{&} {
  69. border: none;
  70. margin: 0;
  71. padding: 0;
  72. box-shadow: none;
  73. appearance: none;
  74. }
  75. .swiper-pagination-clickable & {
  76. cursor: pointer;
  77. }
  78. &:only-child {
  79. display: none !important;
  80. }
  81. }
  82. .swiper-pagination-bullet-active {
  83. opacity: var(--swiper-pagination-bullet-opacity, 1);
  84. background: var(--swiper-pagination-color, var(--swiper-theme-color));
  85. }
  86. .swiper-vertical > .swiper-pagination-bullets,
  87. .swiper-pagination-vertical.swiper-pagination-bullets {
  88. right: 10px;
  89. top: 50%;
  90. transform: translate3d(0px, -50%, 0);
  91. .swiper-pagination-bullet {
  92. margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  93. display: block;
  94. }
  95. &.swiper-pagination-bullets-dynamic {
  96. top: 50%;
  97. transform: translateY(-50%);
  98. width: 8px;
  99. .swiper-pagination-bullet {
  100. display: inline-block;
  101. transition: 200ms transform, 200ms top;
  102. }
  103. }
  104. }
  105. .swiper-horizontal > .swiper-pagination-bullets,
  106. .swiper-pagination-horizontal.swiper-pagination-bullets {
  107. .swiper-pagination-bullet {
  108. margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  109. }
  110. &.swiper-pagination-bullets-dynamic {
  111. left: 50%;
  112. transform: translateX(-50%);
  113. white-space: nowrap;
  114. .swiper-pagination-bullet {
  115. transition: 200ms transform, 200ms left;
  116. }
  117. }
  118. }
  119. .swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  120. transition: 200ms transform, 200ms right;
  121. }
  122. /* Progress */
  123. .swiper-pagination-progressbar {
  124. background: rgba(0, 0, 0, 0.25);
  125. position: absolute;
  126. .swiper-pagination-progressbar-fill {
  127. background: var(--swiper-pagination-color, var(--swiper-theme-color));
  128. position: absolute;
  129. left: 0;
  130. top: 0;
  131. width: 100%;
  132. height: 100%;
  133. transform: scale(0);
  134. transform-origin: left top;
  135. }
  136. .swiper-rtl & .swiper-pagination-progressbar-fill {
  137. transform-origin: right top;
  138. }
  139. .swiper-horizontal > &,
  140. &.swiper-pagination-horizontal,
  141. .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  142. &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  143. width: 100%;
  144. height: 4px;
  145. left: 0;
  146. top: 0;
  147. }
  148. .swiper-vertical > &,
  149. &.swiper-pagination-vertical,
  150. .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  151. &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  152. width: 4px;
  153. height: 100%;
  154. left: 0;
  155. top: 0;
  156. }
  157. }
  158. .swiper-pagination-lock {
  159. display: none;
  160. }