index.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <!-- 品牌商标 -->
  3. <section class="brands">
  4. <div class="brands__head">
  5. <div class="brands__title">
  6. <span>{{ $t('system["可以在数千家商店购物和支付"]') }}</span>
  7. </div>
  8. </div>
  9. <div class="swiper brands__swiper swiper_box_01">
  10. <div class="swiper-wrapper">
  11. <div class="swiper-slide"><img src="@/public/images/brands/1.png" /></div>
  12. <div class="swiper-slide"><img src="@/public/images/brands/2.png" /></div>
  13. <div class="swiper-slide"><img src="@/public/images/brands/3.png" /></div>
  14. <div class="swiper-slide"><img src="@/public/images/brands/4.png" /></div>
  15. <div class="swiper-slide"><img src="@/public/images/brands/5.png" /></div>
  16. <div class="swiper-slide"><img src="@/public/images/brands/6.png" /></div>
  17. <div class="swiper-slide"><img src="@/public/images/brands/7.png" /></div>
  18. <div class="swiper-slide"><img src="@/public/images/brands/8.png" /></div>
  19. <div class="swiper-slide"><img src="@/public/images/brands/9.png" /></div>
  20. <div class="swiper-slide"><img src="@/public/images/brands/10.png" /></div>
  21. <div class="swiper-slide"><img src="@/public/images/brands/11.png" /></div>
  22. <div class="swiper-slide"><img src="@/public/images/brands/12.png" /></div>
  23. <div class="swiper-slide"><img src="@/public/images/brands/13.png" /></div>
  24. <div class="swiper-slide"><img src="@/public/images/brands/14.png" /></div>
  25. </div>
  26. </div>
  27. <div class="swiper brands__swiper swiper_box_02">
  28. <div class="swiper-wrapper">
  29. <div class="swiper-slide"><img src="@/public/images/brands/15.png" /></div>
  30. <div class="swiper-slide"><img src="@/public/images/brands/16.png" /></div>
  31. <div class="swiper-slide"><img src="@/public/images/brands/17.png" /></div>
  32. <div class="swiper-slide"><img src="@/public/images/brands/18.png" /></div>
  33. <div class="swiper-slide"><img src="@/public/images/brands/19.png" /></div>
  34. <div class="swiper-slide"><img src="@/public/images/brands/20.png" /></div>
  35. <div class="swiper-slide"><img src="@/public/images/brands/21.png" /></div>
  36. <div class="swiper-slide"><img src="@/public/images/brands/22.png" /></div>
  37. <div class="swiper-slide"><img src="@/public/images/brands/23.png" /></div>
  38. <div class="swiper-slide"><img src="@/public/images/brands/24.png" /></div>
  39. <div class="swiper-slide"><img src="@/public/images/brands/25.png" /></div>
  40. <div class="swiper-slide"><img src="@/public/images/brands/26.png" /></div>
  41. <div class="swiper-slide"><img src="@/public/images/brands/27.png" /></div>
  42. <div class="swiper-slide"><img src="@/public/images/brands/28.png" /></div>
  43. </div>
  44. </div>
  45. </section>
  46. </template>
  47. <script setup lang="ts">
  48. import { onMounted } from 'vue'
  49. import Swiper from 'swiper'
  50. onMounted(() => {
  51. new Swiper('.swiper_box_01', {
  52. observer: true,
  53. observeParents: true,
  54. speed: 4000,
  55. loop: true,
  56. // loopAdditionalSlides: 13,
  57. slidesPerView: 'auto',
  58. freeMode: true,
  59. loopPreventsSlide: true,
  60. autoplay: {
  61. delay: 0,
  62. disableOnInteraction: false,
  63. stopOnLastSlide: false,
  64. },
  65. grabCursor: true,
  66. })
  67. new Swiper('.swiper_box_02', {
  68. // noSwiping: true,
  69. observer: true,
  70. observeParents: true,
  71. speed: 4000,
  72. loop: true,
  73. // loopAdditionalSlides: 13,
  74. slidesPerView: 'auto',
  75. freeMode: true,
  76. slidesOffsetBefore: 60,
  77. loopPreventsSlide: true,
  78. autoplay: {
  79. delay: 0,
  80. disableOnInteraction: false,
  81. stopOnLastSlide: false,
  82. // reverseDirection: true,
  83. },
  84. grabCursor: true,
  85. })
  86. })
  87. </script>
  88. <style lang="less" scoped>
  89. .brands {
  90. position: relative;
  91. padding: 50px 0;
  92. padding: 3.125rem 0;
  93. width: 100%;
  94. height: auto;
  95. .brands__head {
  96. width: 100%;
  97. display: flex;
  98. justify-content: center;
  99. margin-bottom: 30px;
  100. mask-border: 1.875rem;
  101. }
  102. .brands__title {
  103. font-size: 30px;
  104. font-size: 1.875rem;
  105. font-weight: bold;
  106. text-align: center;
  107. color: #111827;
  108. }
  109. .swiper-wrapper {
  110. transition-timing-function: linear !important;
  111. -webkit-transition-timing-function: linear !important;
  112. -moz-transition-timing-function: linear !important;
  113. -ms-transition-timing-function: linear !important;
  114. -o-transition-timing-function: linear !important;
  115. transition-timing-function: linear !important;
  116. }
  117. .swiper-container-free-mode > .swiper-wrapper {
  118. -webkit-transition-timing-function: linear !important;
  119. -o-transition-timing-function: linear !important;
  120. transition-timing-function: linear !important;
  121. }
  122. .brands__swiper {
  123. overflow: hidden;
  124. width: 100%;
  125. height: auto;
  126. .swiper-slide {
  127. text-align: center;
  128. font-size: 18px;
  129. font-size: 1.125rem;
  130. background: #fff;
  131. display: flex;
  132. justify-content: center;
  133. align-items: center;
  134. width: 140px;
  135. width: 8.75rem;
  136. height: 140px;
  137. height: 8.75rem;
  138. padding: 20px;
  139. padding: 1.25rem;
  140. border: 1px solid #c9d1d7;
  141. border-right: 0;
  142. img {
  143. width: 100%;
  144. height: auto;
  145. object-fit: contain;
  146. }
  147. }
  148. .swiper-slide:last-child {
  149. border: 1px solid #c9d1d7;
  150. }
  151. }
  152. .swiper_box_01 {
  153. .swiper-slide {
  154. border-bottom: 0;
  155. }
  156. }
  157. }
  158. </style>
  159. <style lang="less" scoped>
  160. @import url(./css/styles@1200.less);
  161. @import url(./css/styles@1024.less);
  162. @import url(./css/styles@768.less);
  163. </style>