Card.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. <template>
  2. <section class="card-container">
  3. <NuxtImg class="card-bg-img" src="/images/products/bg2.jpg" alt="背景图" />
  4. <div class="card-box">
  5. <div v-mouse-glow class="card-item card1">
  6. <div class="card-title">
  7. <div class="title-wrapper">
  8. <NuxtImg :src="icon" alt="加密锁" />
  9. <h3>全链加密</h3>
  10. </div>
  11. <div class="stat-text">
  12. SDK自身高强度加密,且可以实时动态更新,安全可靠,无惧MITM Attack。
  13. </div>
  14. </div>
  15. <div>
  16. <div class="stat-number">超过90%</div>
  17. <div class="stat-text">应对超过 90% 数据在云端流转的时代,用全
  18. 链加密构筑端到端零泄露的安全底座</div>
  19. </div>
  20. <div>
  21. <div class="stat-number">超1,000亿次</div>
  22. <div class="stat-text">面对年均超 1,000 亿次云端调用,全链加密确
  23. 保数据全路径安全无死角</div>
  24. </div>
  25. </div>
  26. <div v-mouse-glow class="card-item card2">
  27. <div class="card-title">
  28. <div class="title-wrapper">
  29. <NuxtImg :src="icon2" alt="加密锁" />
  30. <h3>DDoS 防护</h3>
  31. </div>
  32. <div class="stat-text">
  33. SDK自身高强度加密,且可以实时动态更新,安全可靠,无惧MITM Attack。
  34. </div>
  35. </div>
  36. </div>
  37. <div v-mouse-glow class="card-item card3">
  38. <div class="card-title">
  39. <div class="title-wrapper">
  40. <NuxtImg :src="icon3" alt="加密锁" />
  41. <h3>智能加速</h3>
  42. </div>
  43. <div class="stat-text">
  44. SDK自身高强度加密,且可以实时动态更新,安全可靠,无惧MITM Attack。
  45. </div>
  46. </div>
  47. </div>
  48. <div v-mouse-glow class="card-item card4">
  49. <div class="card4-content">
  50. <h2>用户友好的加密调度中心</h2>
  51. <p>用于替代DNS的一个加密调度中心,能够实现细化到单个客户端,级别的秒级调度,兼容性稳定可靠!提供完整SDK中文文档,轻松集成!</p>
  52. <div class="card4-btn"><span>立即咨询</span>
  53. <Icon name="line-md:chevron-right" />
  54. </div>
  55. </div>
  56. <div class="card4-img">
  57. <NuxtImg width="198" height="198" src="/images/products/security.png" alt="云安全" />
  58. <div class="img-btn">Unlimited Scaling</div>
  59. <div class="img-btn">Advanced Security</div>
  60. <div class="img-btn">Advanced Security</div>
  61. </div>
  62. </div>
  63. </div>
  64. </section>
  65. </template>
  66. <script setup>
  67. import icon from '~/assets/svg/products/lock.svg'
  68. import icon2 from '~/assets/svg/products/security.svg'
  69. import icon3 from '~/assets/svg/products/acceleration.svg'
  70. </script>
  71. <style lang="scss" scoped>
  72. .card-container {
  73. width: 100%;
  74. height: 1000px;
  75. position: relative;
  76. .card-bg-img {
  77. position: absolute;
  78. bottom: 0;
  79. left: 0;
  80. width: 100%;
  81. height: auto;
  82. z-index: 0;
  83. opacity: 0.5;
  84. }
  85. }
  86. .card-box {
  87. position: relative;
  88. z-index: 1;
  89. display: grid;
  90. justify-content: center;
  91. margin-top: 40px;
  92. grid-template-areas:
  93. "card1 card2 card3"
  94. "card1 card4 card4";
  95. grid-template-columns: 400px 400px 400px;
  96. grid-template-rows: 192px 308px;
  97. grid-column-gap: 20px;
  98. grid-row-gap: 20px;
  99. }
  100. .card-item {
  101. border-radius: 24px;
  102. border: 1px solid rgba(255, 255, 255, 0.10);
  103. background: rgba(255, 255, 255, 0.10);
  104. transition: transform .3s ease;
  105. &:hover {
  106. border: 1px solid #B7B2FF;
  107. background: linear-gradient(180deg, rgba(184, 100, 255, 0.20) 0%, rgba(137, 64, 254, 0.20) 100%);
  108. transform: translateY(-5px);
  109. }
  110. }
  111. .card-title {
  112. .title-wrapper {
  113. display: flex;
  114. align-items: center;
  115. }
  116. img {
  117. width: 45px;
  118. height: 45px;
  119. }
  120. h3 {
  121. color: #ffffff;
  122. padding-left: 10px;
  123. font-size: 24px;
  124. font-weight: 700;
  125. }
  126. }
  127. .stat-text {
  128. margin-top: 12px;
  129. width: 320px;
  130. color: rgba(255, 255, 255, 0.60);
  131. font-size: 16px;
  132. font-style: normal;
  133. font-weight: 400;
  134. line-height: 24px;
  135. }
  136. .card1 {
  137. grid-area: card1;
  138. padding: 37px 24px;
  139. display: flex;
  140. flex-direction: column;
  141. gap: 42px;
  142. .stat-number {
  143. color: #FFF;
  144. font-size: 36px;
  145. font-style: normal;
  146. font-weight: 500;
  147. line-height: 36px;
  148. }
  149. }
  150. .card2 {
  151. grid-area: card2;
  152. padding: 40px 24px;
  153. }
  154. .card3 {
  155. grid-area: card3;
  156. padding: 40px 24px;
  157. }
  158. .card4 {
  159. grid-area: card4;
  160. padding: 42px 30px 48px 24px;
  161. display: flex;
  162. gap: 30px;
  163. }
  164. .card4-content {
  165. width: 490px;
  166. color: #fff;
  167. h2 {
  168. font-size: 36px;
  169. font-style: normal;
  170. font-weight: 700;
  171. line-height: 36px;
  172. }
  173. p {
  174. margin-top: 20px;
  175. color: rgba(255, 255, 255, 0.60);
  176. font-size: 16px;
  177. font-style: normal;
  178. font-weight: 400;
  179. line-height: 36px;
  180. }
  181. .card4-btn {
  182. margin-top: 45px;
  183. display: flex;
  184. width: 140px;
  185. height: 45px;
  186. padding: 7px 21px;
  187. justify-content: center;
  188. align-items: center;
  189. gap: 10px;
  190. border-radius: 8px;
  191. background: linear-gradient(104deg, #C46DFF 13.04%, #6B29FF 117.2%);
  192. font-size: 16px;
  193. cursor: pointer;
  194. }
  195. }
  196. .card4-img {
  197. position: relative;
  198. .img-btn {
  199. position: absolute;
  200. display: flex;
  201. width: 140px;
  202. height: 36px;
  203. justify-content: center;
  204. align-items: center;
  205. border-radius: 100px;
  206. border: 1px solid #FFF;
  207. background: linear-gradient(263deg, rgba(203, 125, 255, 0.40) -0.77%, rgba(117, 39, 255, 0.40) 57.75%, rgba(203, 125, 255, 0.40) 107.92%);
  208. backdrop-filter: blur(4.5px);
  209. font-size: 14px;
  210. color: #fff;
  211. &:nth-of-type(1) {
  212. top: -26px;
  213. left: 20px;
  214. }
  215. &:nth-of-type(2) {
  216. top: 78px;
  217. right: -44px;
  218. }
  219. &:nth-of-type(3) {
  220. bottom: 36px;
  221. left: -66px;
  222. }
  223. }
  224. }
  225. </style>