index.styl 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // app/pages/Events/index.styl
  2. .events-list-enter-active,
  3. .events-list-leave-active
  4. transition: all 0.5s ease
  5. .events-list-enter-from
  6. opacity: 0
  7. transform: translateY(30px)
  8. .events-list-leave-to
  9. opacity: 0
  10. transform: translateY(-30px)
  11. .events-list-move
  12. transition: transform 0.5s ease
  13. .event-card
  14. transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1)
  15. &:hover
  16. .event-image img
  17. transform: scale(1.05)
  18. .line-clamp-2
  19. display: -webkit-box
  20. -webkit-line-clamp: 2
  21. -webkit-box-orient: vertical
  22. overflow: hidden
  23. .line-clamp-3
  24. display: -webkit-box
  25. -webkit-line-clamp: 3
  26. -webkit-box-orient: vertical
  27. overflow: hidden
  28. // Анимация появления карточек при загрузке
  29. @keyframes fadeInUp
  30. from
  31. opacity: 0
  32. transform: translateY(40px)
  33. to
  34. opacity: 1
  35. transform: translateY(0)
  36. .event-card
  37. animation: fadeInUp 0.6s ease forwards
  38. for i in 1..12
  39. &:nth-child({i})
  40. animation-delay: (i * 0.1)s
  41. // Адаптивность
  42. @media (max-width: 768px)
  43. .event-card
  44. margin-bottom: 1.5rem
  45. .events-grid
  46. .grid
  47. grid-template-columns: 1fr
  48. // Кастомные стили для пустого состояния
  49. .empty-state
  50. .empty-icon
  51. opacity: 0.5
  52. // Стили для бейджей категорий
  53. .event-badge
  54. text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3)
  55. // Плавная прокрутка к событиям
  56. html
  57. scroll-behavior: smooth