index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <script setup>
  2. const { t } = useI18n()
  3. const { $$t } = useStoreI18n()
  4. const dataList = ref([
  5. {
  6. bg: 'box-color-1',
  7. id: 'wrapper0',
  8. wowDelay: '0.3s',
  9. img: '/picture/icon-1.svg',
  10. title: $$t('handicraftCourses'),
  11. subTitle: $$t('handicraftCoursesSubTitle')
  12. },
  13. {
  14. bg: 'box-color-3',
  15. id: 'wrapper1',
  16. wowDelay: '0.5s',
  17. img: '/picture/icon-3.svg',
  18. title: $$t('classroomGames'),
  19. subTitle: $$t('classroomGamesSubTitle')
  20. },
  21. {
  22. bg: 'box-color-2',
  23. id: 'wrapper2',
  24. wowDelay: '0.6s',
  25. img: '/picture/icon-2.svg',
  26. title: $$t('musicalRhythm'),
  27. subTitle: $$t('musicalRhythmSubTitle')
  28. },
  29. {
  30. bg: 'box-color-4',
  31. id: 'wrapper3',
  32. wowDelay: '0.8s',
  33. img: '/picture/icon-4.svg',
  34. title: $$t('chineseCulture'),
  35. subTitle: $$t('chineseCultureSubTitle')
  36. }
  37. ])
  38. </script>
  39. <style lang="css" scoped>
  40. .multi-line {
  41. overflow: hidden;
  42. display: -webkit-box;
  43. -webkit-box-orient: vertical;
  44. }
  45. .h-color {
  46. color: white;
  47. }
  48. .clamp-1 {
  49. -webkit-line-clamp: 1;
  50. }
  51. .clamp-2 {
  52. -webkit-line-clamp: 2;
  53. }
  54. .shrink-0 {
  55. flex-shrink: 0;
  56. }
  57. </style>
  58. <template>
  59. <section class="about-activities-section section-padding pt-0">
  60. <div class="pencil-shape"><img src="/picture/pencil2.png" alt="shape-img" /></div>
  61. <div class="zebra-shape float-bob-y"><img src="/picture/zebra.png" alt="shape-img" /></div>
  62. <div class="container">
  63. <div class="about-activities-wrapper">
  64. <div class="row g-3">
  65. <div class="col-lg-6 wow fadeInUp" data-wow-delay=".4s">
  66. <div class="activities-image bg-cover">
  67. <img src="/picture/03.png" alt="img" />
  68. </div>
  69. </div>
  70. <div class="col-lg-6">
  71. <div class="activities-content">
  72. <div class="section-title">
  73. <span class="wow fadeInUp">{{ t('ourOriginalCourses') }}</span>
  74. <h2 class="wow fadeInUp fs-1" data-wow-delay=".3s">
  75. {{ t('curriculumCharacteristics') }}
  76. </h2>
  77. </div>
  78. <p class="mt-3 mt-md-0 wow fadeInUp" data-wow-delay=".5s">
  79. {{ t('multiDimensionalTeachingModel') }}
  80. </p>
  81. <div class="row g-4 mt-4">
  82. <div
  83. v-for="(item, index) in dataList"
  84. :key="item?.id"
  85. class="col-xl-6 col-lg-8 col-md-6 wow fadeInUp"
  86. :data-wow-delay="item?.wowDelay"
  87. >
  88. <div class="icon-items">
  89. <div class="icon shrink-0" :class="item?.bg">
  90. <img :src="item?.img" alt="img" />
  91. </div>
  92. <div class="content">
  93. <h5>{{ item?.title }}</h5>
  94. <p class="multi-line clamp-2">
  95. {{ item?.subTitle }}
  96. </p>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </section>
  107. </template>