index.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <script setup>
  2. const { t } = useI18n()
  3. const { $$t } = useStoreI18n()
  4. const dataList = ref([
  5. {
  6. bg: '',
  7. abg: '',
  8. id: 'Jenny0',
  9. wowDelay: '0.3s',
  10. img: '/picture/quote.png',
  11. title: $$t('jennyWilson'),
  12. subTitle: $$t('culturalTheatre')
  13. },
  14. {
  15. bg: 'bg-2',
  16. abg: 'style-2',
  17. id: 'Jenny1',
  18. wowDelay: '0.5s',
  19. img: '/picture/quote-2.png',
  20. title: $$t('estherHoward'),
  21. subTitle: $$t('pronunciationStandard')
  22. },
  23. {
  24. bg: 'bg-3',
  25. abg: 'style-3',
  26. id: 'Jenny2',
  27. wowDelay: '0.7s',
  28. img: '/picture/quote-3.png',
  29. title: $$t('wadeWarren'),
  30. subTitle: $$t('lun1')
  31. }
  32. ])
  33. </script>
  34. <style lang="css" scoped>
  35. .multi-line {
  36. overflow: hidden;
  37. display: -webkit-box;
  38. -webkit-box-orient: vertical;
  39. }
  40. .h-color {
  41. color: white;
  42. }
  43. .clamp-1 {
  44. -webkit-line-clamp: 1;
  45. }
  46. .clamp-2 {
  47. -webkit-line-clamp: 2;
  48. }
  49. .clamp-3 {
  50. -webkit-line-clamp: 3;
  51. }
  52. .clamp-4 {
  53. -webkit-line-clamp: 4;
  54. }
  55. </style>
  56. <template>
  57. <section class="testimonial-section fix section-padding">
  58. <div class="tree-shape float-bob-y"><img src="/picture/tree-shape.png" alt="shape-img" /></div>
  59. <div class="right-shape"><img src="/picture/right.png" alt="shape-img" /></div>
  60. <div class="bee-shape float-bob-y"><img src="/picture/bee.png" alt="shape-img" /></div>
  61. <div class="container">
  62. <div class="section-title text-center">
  63. <span class="wow fadeInUp">{{ t('recommendation') }}</span>
  64. <h2 class="wow fadeInUp w-50 m-auto" data-wow-delay=".3s">
  65. {{ t('parentsFeedback') }}
  66. </h2>
  67. </div>
  68. <div class="row">
  69. <template v-for="(item, index) in dataList" :key="item?.id">
  70. <div class="col-xl-4 col-lg-6 col-md-6 wow fadeInUp" :data-wow-delay="item?.wowDelay">
  71. <div class="swiper-slide">
  72. <div
  73. style="box-sizing: border-box"
  74. class="testimonial-items d-flex align-items-center"
  75. :class="item.abg"
  76. >
  77. <div class="icon">
  78. <img :src="item?.img" alt="img" />
  79. </div>
  80. <div class="testimonial-bg" :class="item.bg"></div>
  81. <div class="testimonial-content">
  82. <p class="multi-line clamp-4">
  83. {{ item?.subTitle }}
  84. </p>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </template>
  90. </div>
  91. </div>
  92. </section>
  93. </template>