botPage.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <div style="width: 100%;">
  3. <div style="color: #1f2937;font-weight: 600;font-size: 20px;margin-bottom: 16px;">
  4. 热门应用
  5. </div>
  6. <div class="conBlock">
  7. <div style="display: flex;justify-content: space-between;margin-bottom: 16px;">
  8. <div style="color: #1f2937;font-weight: 600;font-size: 18px;margin-bottom: 16px;">项目式学习</div>
  9. <div style="color: #0354d7;font-size: 14px;cursor: pointer;">查看全部</div>
  10. </div>
  11. <div style="display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 16px;">
  12. <div v-for="(item,index) in tab" class="tabCon" :key="index" style="min-width: 308px;">
  13. <div style="flex-wrap: wrap;display: flex;justify-content: space-between;border: 1px rgb(243 244 246 / var(--tw-border-opacity, 1)) solid;border-radius: 10px;padding: 16px;box-sizing: border-box;">
  14. <img style="width: 48px;border-radius: 50%;" src="../assets/date.png" alt="">
  15. <div style="flex: 1;margin-left: 12px;display: flex;flex-direction: column;justify-content: center;">
  16. <div style="color: #1f2937;font-size: 16px;height: 24px;line-height: 24px;">{{ item.name }}</div>
  17. <div style="color: #6b7280;font-size: 12px;height: 16px;line-height: 16px;">{{ item.bir }}</div>
  18. </div>
  19. <div>
  20. <img style="width: 20px;" src="../assets/startIcon.svg" alt="">
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. <div class="conBlock">
  27. <div style="display: flex;justify-content: space-between;margin-bottom: 16px;">
  28. <div style="color: #1f2937;font-weight: 600;font-size: 18px;margin-bottom: 16px;">项目式学习</div>
  29. <div style="color: #0354d7;font-size: 14px;cursor: pointer;">查看全部</div>
  30. </div>
  31. <div style="display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 16px;">
  32. <div v-for="(item,index) in tab" class="tabCon" :key="index" style="min-width: 308px;">
  33. <div style="flex-wrap: wrap;display: flex;justify-content: space-between;border: 1px rgb(243 244 246 / var(--tw-border-opacity, 1)) solid;border-radius: 10px;padding: 16px;box-sizing: border-box;">
  34. <img style="width: 48px;border-radius: 50%;" src="../assets/date.png" alt="">
  35. <div style="flex: 1;margin-left: 12px;display: flex;flex-direction: column;justify-content: center;">
  36. <div style="color: #1f2937;font-size: 16px;height: 24px;line-height: 24px;">{{ item.name }}</div>
  37. <div style="color: #6b7280;font-size: 12px;height: 16px;line-height: 16px;">{{ item.bir }}</div>
  38. </div>
  39. <div>
  40. <img style="width: 20px;" src="../assets/startIcon.svg" alt="">
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="conBlock">
  47. <div style="display: flex;justify-content: space-between;margin-bottom: 16px;">
  48. <div style="color: #1f2937;font-weight: 600;font-size: 18px;margin-bottom: 16px;">项目式学习</div>
  49. <div style="color: #0354d7;font-size: 14px;cursor: pointer;">查看全部</div>
  50. </div>
  51. <div style="display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 16px;">
  52. <div v-for="(item,index) in tab" class="tabCon" :key="index" style="min-width: 308px;">
  53. <div style="flex-wrap: wrap;display: flex;justify-content: space-between;border: 1px rgb(243 244 246 / var(--tw-border-opacity, 1)) solid;border-radius: 10px;padding: 16px;box-sizing: border-box;">
  54. <img style="width: 48px;border-radius: 50%;" src="../assets/date.png" alt="">
  55. <div style="flex: 1;margin-left: 12px;display: flex;flex-direction: column;justify-content: center;">
  56. <div style="color: #1f2937;font-size: 16px;height: 24px;line-height: 24px;">{{ item.name }}</div>
  57. <div style="color: #6b7280;font-size: 12px;height: 16px;line-height: 16px;">{{ item.bir }}</div>
  58. </div>
  59. <div>
  60. <img style="width: 20px;" src="../assets/startIcon.svg" alt="">
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </template>
  68. <script>
  69. export default {
  70. data() {
  71. return {
  72. tab:[
  73. {name:'PBL课程设计',icon:'',bir:'项目式学习课程规划'},
  74. {name:'课堂活动设计',icon:'',bir:'互动教学活动规划'},
  75. {name:'教案编写',icon:'',bir:'教案智能生成'},
  76. ]
  77. }
  78. },
  79. }
  80. </script>
  81. <style scoped>
  82. .conBlock{
  83. background-color: #fff;
  84. padding: 24px;
  85. box-sizing: border-box;
  86. margin-bottom: 24px;
  87. border-radius: 10px;
  88. }
  89. .tabCon{
  90. transition: all 0.3s ease; /* 统一过渡效果 */
  91. border-radius: 10px;
  92. }
  93. .tabCon:hover{
  94. transform: translateY(-5px); /* 向上位移 */
  95. box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  96. }
  97. </style>