index.module.scss 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. .banner {
  2. height: 100vh;
  3. overflow: hidden;
  4. :global {
  5. .fullscreen-slide {
  6. height: 100vh !important;
  7. display: flex !important;
  8. align-items: center;
  9. justify-content: center;
  10. background-size: cover;
  11. background-position: center;
  12. .slide-content {
  13. width: 100%;
  14. height: 100%;
  15. position: relative;
  16. background-size: 100% 100% !important;
  17. text-align: center;
  18. color: white;
  19. text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  20. & img {
  21. width: 100%;
  22. position: absolute;
  23. top: 50%;
  24. left: 50%;
  25. transform: translate(-50%, -50%);
  26. object-fit: contain;
  27. }
  28. // 图1
  29. .title1 {
  30. width: 75%;
  31. opacity: 0.5;
  32. transition: all 0.6s ease-in-out;
  33. }
  34. .item1 {
  35. transform: translate(-50%, 21px);
  36. object-fit: cover;
  37. height: 450px;
  38. }
  39. .date1 {
  40. width: 92px;
  41. transform: translate(-900px, -59%);
  42. transition: all 0.8s ease-in-out;
  43. }
  44. // 图2
  45. .top2 {
  46. width: 90%;
  47. opacity: 0.5;
  48. transform: translate(-50%, -165%);
  49. transition: all 0.6s ease-in-out;
  50. }
  51. .title2 {
  52. width: 24%;
  53. opacity: 0;
  54. transform: translate(45%, -95%);
  55. transition: all 1.2s ease-in-out;
  56. }
  57. .item2 {
  58. width: 30%;
  59. opacity: 0;
  60. transform: translate(-110%, -39%);
  61. transition: all 1s ease-in-out;
  62. }
  63. .date2 {
  64. width: 92px;
  65. opacity: 0;
  66. transform: translate(-1050px, -79%);
  67. transition: all 0.8s ease-in-out;
  68. }
  69. // 图3
  70. .top3 {
  71. width: 85%;
  72. opacity: 0.5;
  73. transform: translate(-50%, -165%);
  74. transition: all 0.6s ease-in-out;
  75. }
  76. .item5 {
  77. width: 37%;
  78. opacity: 0;
  79. transform: translate(-110%, -36%);
  80. transition: all 1s ease-in-out;
  81. }
  82. .top7 {
  83. width: 80%;
  84. opacity: 0.5;
  85. transform: translate(-50%, -98%);
  86. transition: all 0.6s ease-in-out;
  87. }
  88. .date7 {
  89. width: 22%;
  90. transform: translate(82%, -70%);
  91. transition: all 0.8s ease-in-out;
  92. }
  93. .btn7 {
  94. width: 12%;
  95. transform: translate(193%, 130%);
  96. transition: all 0.8s ease-in-out;
  97. cursor: pointer;
  98. z-index: 1;
  99. }
  100. .item7 {
  101. transform: translate(-50%, 71px);
  102. object-fit: cover;
  103. height: 400px;
  104. }
  105. }
  106. // 动画效果
  107. .animate {
  108. .title1 {
  109. opacity: 1;
  110. }
  111. .date1 {
  112. transform: translate(-900px, -79%);
  113. }
  114. .top2 {
  115. opacity: 1;
  116. }
  117. .title2 {
  118. opacity: 1;
  119. transform: translate(45%, -50%);
  120. }
  121. .item2 {
  122. opacity: 1;
  123. transform: translate(-110%, -44%);
  124. }
  125. .date2 {
  126. opacity: 1;
  127. transform: translate(-900px, -79%);
  128. }
  129. .top3 {
  130. opacity: 1;
  131. }
  132. .item5 {
  133. opacity: 1;
  134. transform: translate(-110%, -40%);
  135. }
  136. .top7 {
  137. opacity: 1;
  138. }
  139. .date7 {
  140. transform: translate(82%, -79%);
  141. }
  142. .btn7 {
  143. transform: translate(193%, 110%);
  144. }
  145. }
  146. }
  147. /* 垂直dots样式 */
  148. .vertical-dots {
  149. position: fixed;
  150. right: 20px;
  151. top: 50%;
  152. transform: translateY(-50%);
  153. display: flex !important;
  154. flex-direction: column;
  155. align-items: center;
  156. width: auto;
  157. gap: 16px;
  158. & li {
  159. margin: 0 !important;
  160. &:not(:last-child) {
  161. background: url('../image/scroll2.png') no-repeat center bottom;
  162. }
  163. width: 22px;
  164. height: 62px;
  165. }
  166. & .slick-active {
  167. width: 40px;
  168. height: 80px !important;
  169. & button {
  170. background: url('../image/scroll3.png') no-repeat center center;
  171. width: 40px;
  172. height: 40px;
  173. }
  174. }
  175. & li button {
  176. width: 22px;
  177. height: 22px;
  178. background: url('../image/scroll1.png') no-repeat center center;
  179. background-size: cover;
  180. font-size: 12px !important;
  181. color: transparent !important;
  182. border: none;
  183. opacity: 1 !important;
  184. }
  185. & li button::before {
  186. width: 22px;
  187. height: 22px;
  188. font-size: 12px !important;
  189. color: transparent !important;
  190. border: none;
  191. opacity: 0 !important;
  192. }
  193. }
  194. }
  195. }