item.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <script lang='ts' setup>
  2. defineProps({
  3. item: Object as any,
  4. })
  5. </script>
  6. <template>
  7. <div class="custom-main mx-auto overflow-hidden pos-relative">
  8. <svgo-star class="pos-absolute top-20px right-20px w-20px h-20px" />
  9. <div class="p-20px pb-30px">
  10. <h2 class="!mb-15px w-250px text-24px fw-800 text-#333 line-clamp-2 custom-title-font">
  11. {{ item.title }}
  12. </h2>
  13. <div class="text-#666 lh-24px line-clamp-2">
  14. {{ item.subhead }}
  15. </div>
  16. </div>
  17. <img
  18. :src="item.coverImg"
  19. :alt="item.coverAlt"
  20. srcset=""
  21. class="w-100% b-rd-tl-10px b-rd-tr-10px object-cover"
  22. >
  23. <div class="pos-absolute bottom-20px left-20px cursor-pointer text-#fff bg-#fff/50 b-1px b-transparent b-solid h-40px pr-8px pl-30px hover:b-1px hover:b-#fff hover:b-solid backdrop-blur-20px text-14px fw-bold b-rd-400px flex items-center justify-center">
  24. <div>Download</div>
  25. <div class="p-5px b-rd-50% bg-#fff ml-20px">
  26. <svgo-download class="w-14px h-14px text-#333333" />
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <style lang="less" scoped>
  32. .custom-main{
  33. width: 386px;
  34. height: 468px;
  35. border-radius: 10px;
  36. // background: #fff;
  37. }
  38. </style>