Caroussel.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <v-container class="container">
  3. <v-carousel
  4. :show-arrows="false"
  5. class="carousel"
  6. :hide-delimiter-background="true"
  7. >
  8. <v-carousel-item v-for="(item, index) in carouselItems" :key="index">
  9. <v-row>
  10. <v-col cols="6">
  11. <v-row class="align-start">
  12. <v-img class="logo-school" :src="item.logo"></v-img>
  13. </v-row>
  14. <v-row class="align-start">
  15. <p class="description">{{ item.description }}</p>
  16. </v-row>
  17. <v-row class="align-start">
  18. <v-btn :class="item.buttonClass">En savoir plus</v-btn>
  19. </v-row>
  20. </v-col>
  21. <v-col cols="6">
  22. <v-row class="justify-end">
  23. <div
  24. class="background-rectangle"
  25. :style="{ backgroundColor: item.color }"
  26. ></div>
  27. <v-card class="card">
  28. <v-img
  29. class="profile-image"
  30. src="/images/carousel/school/avatar.png"
  31. alt="Profile Image"
  32. contain
  33. rounded
  34. ></v-img>
  35. <v-card-text>
  36. <v-card-title class="name">Cindy Blanchard</v-card-title>
  37. <p class="school">Conservatoire d'Anemasse</p>
  38. <p class="status">Eleve</p>
  39. </v-card-text>
  40. </v-card>
  41. <v-img :src="item.image" class="image"></v-img>
  42. </v-row>
  43. </v-col>
  44. </v-row>
  45. </v-carousel-item>
  46. </v-carousel>
  47. </v-container>
  48. </template>
  49. <script setup>
  50. import { ref } from "vue";
  51. const carouselItems = ref([
  52. {
  53. logo: "/images/carousel/school/school.png",
  54. description:
  55. "Pour les petits comme pour les grans établissements d’enseignement artistique.Il permet la gestion au quotidien et en temps réel de votre établissement, de gérer vos élèves et vos professeurs, vos emplois du temps, le suivi pédagogique, vos salles, la facturation et les encaissements...",
  56. buttonClass: "btn-school",
  57. image: "/images/carousel/school/Fille_School.png",
  58. color: "rgba(32, 147, 190, 0.4)",
  59. },
  60. {
  61. logo: "/images/carousel/artist/artist.png",
  62. description:
  63. "Pour les petits comme pour les grans établissements d’enseignement artistique...",
  64. buttonClass: "btn-artist",
  65. image: "/images/carousel/artist/musician.png",
  66. color: "rgba(250, 194, 10, 0.4)",
  67. },
  68. {
  69. logo: "/images/carousel/manager/manager.png",
  70. description:
  71. "Pour les structures culturelles pratiquantes telles que les orchestres...",
  72. buttonClass: "btn-manager",
  73. image: "/images/carousel/manager/fédération.png",
  74. color: "rgba(216, 5, 11, 0.4)",
  75. },
  76. ]);
  77. </script>
  78. <style scoped>
  79. .card{
  80. height: 250px;
  81. left: 150px;
  82. border-radius: 20px;
  83. }
  84. .profile-image {
  85. width: 100px;
  86. height: 100px;
  87. margin: 0 auto;
  88. }
  89. .name {
  90. text-align: center;
  91. font-size: 18px;
  92. font-weight: bold;
  93. margin-bottom: 8px;
  94. font-family: "Barlow";
  95. font-style: normal;
  96. }
  97. .school {
  98. text-align: center;
  99. font-size: 14px;
  100. color: #888888;
  101. margin-bottom: 8px;
  102. }
  103. .status {
  104. text-align: center;
  105. font-size: 14px;
  106. color: #888888;
  107. }
  108. .background-rectangle {
  109. position: absolute;
  110. width: 801px;
  111. height: 326px;
  112. left: 72%; /* Ajustez cette valeur pour déplacer le rectangle horizontalement */
  113. top: 50%;
  114. transform: translate(-50%, -50%);
  115. border-radius: 200px 0px 0px 200px;
  116. z-index: -1;
  117. }
  118. .align-start {
  119. align-items: flex-start;
  120. }
  121. .description {
  122. text-align: left;
  123. }
  124. .logo-row,
  125. .text-row,
  126. .btn-row {
  127. justify-content: flex-start;
  128. }
  129. .container {
  130. max-width: 1900px;
  131. height: 800px;
  132. margin-top: 90px;
  133. }
  134. .logo-school {
  135. width: 370px;
  136. height: 199px;
  137. margin-right: 299px;
  138. margin-bottom: 30px;
  139. }
  140. .image {
  141. width: 529px;
  142. height: 566px;
  143. }
  144. .btn-school {
  145. margin-top: 20px;
  146. margin-left: 20px;
  147. margin-bottom: 20px;
  148. background: rgba(32, 147, 190, 0.4);
  149. border-radius: 6px;
  150. margin-left: 100px;
  151. align-items: center;
  152. padding: 25px;
  153. gap: 9px;
  154. font-weight: 700;
  155. font-size: 10px;
  156. line-height: 15px;
  157. width: 200px;
  158. height: 56px;
  159. }
  160. .btn-artist {
  161. font-family: "Barlow";
  162. font-style: normal;
  163. border-radius: 6px;
  164. background: rgba(250, 194, 10, 0.4);
  165. margin-left: 100px;
  166. align-items: center;
  167. padding: 25px;
  168. gap: 9px;
  169. font-weight: 700;
  170. font-size: 10px;
  171. line-height: 15px;
  172. width: 200px;
  173. height: 56px;
  174. }
  175. .btn-manager {
  176. margin-top: 20px;
  177. margin-left: 20px;
  178. margin-bottom: 20px;
  179. background: rgba(216, 5, 11, 0.4);
  180. border-radius: 6px;
  181. margin-left: 100px;
  182. align-items: center;
  183. padding: 25px;
  184. gap: 9px;
  185. font-weight: 700;
  186. font-size: 10px;
  187. line-height: 15px;
  188. width: 200px;
  189. height: 56px;
  190. }
  191. .description {
  192. text-align: left;
  193. margin-right: 290px;
  194. margin-left: 100px;
  195. }
  196. .justify-center {
  197. justify-content: center;
  198. }
  199. .justify-end {
  200. justify-content: flex-end;
  201. }
  202. </style>