From b83ec91b1a158f8743e2ab8362055030807a8ebb Mon Sep 17 00:00:00 2001 From: whm <973418690@qq.com> Date: Tue, 24 Mar 2026 16:14:45 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=EF=BC=9A=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E6=88=91=E4=BB=AC=E5=8C=BA=E5=9D=97=E5=8A=A8=E6=95=88=E4=B8=8E?= =?UTF-8?q?=E5=B1=85=E4=B8=AD=E5=B8=83=E5=B1=80=EF=BC=88=E7=8E=BB=E7=92=83?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E3=80=81=E5=85=89=E6=99=95=E4=B8=8E=E5=85=A5?= =?UTF-8?q?=E5=9C=BA=E5=8A=A8=E7=94=BB=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- web/src/views/Home.vue | 275 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 249 insertions(+), 26 deletions(-) diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index e33279e..408f329 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -216,30 +216,39 @@ -
+
+
-
-

联系我们

-

有任何问题或建议,我们随时为您服务

-
-
-
-
-
公司地址
-

成都市金牛区华丰路217号
2栋2单元12层11号

+
+ CONTACT +

联系我们

+

有任何问题或建议,我们随时为您服务

+ +
+
+
+ +
公司地址
+

成都市金牛区华丰路217号
2栋2单元12层11号

-
-
-
电子邮箱
- 1406339793@qq.com +
+ +
电子邮箱
+ 1406339793@qq.com
-
-
-
官方网站
- yuheng.yuxindazhineng.com +
+ +
官方网站
+ yuheng.yuxindazhineng.com
@@ -1435,15 +1444,229 @@ onUnmounted(() => { .faq-answer p { padding: 0 22px 18px; color: rgba(255,255,255,0.55); font-size: 14px; line-height: 1.75; } .contact-section { - padding: 80px 20px; position: relative; z-index: 10; - background: linear-gradient(180deg, transparent 0%, rgba(74, 26, 107, 0.08) 50%, transparent 100%); + padding: 88px 20px 100px; + position: relative; + z-index: 10; + overflow: hidden; +} +.contact-aurora { + position: absolute; + inset: 0; + pointer-events: none; + z-index: 0; +} +.contact-aurora-blob { + position: absolute; + width: min(380px, 55vw); + height: min(380px, 55vw); + border-radius: 50%; + filter: blur(72px); + opacity: 0.38; + animation: contact-blob-drift 14s ease-in-out infinite; +} +.contact-aurora-blob--a { + background: rgba(0, 212, 255, 0.28); + left: 8%; + top: 12%; +} +.contact-aurora-blob--b { + background: rgba(255, 45, 149, 0.22); + right: 5%; + bottom: 8%; + animation-delay: -7s; +} +@keyframes contact-blob-drift { + 0%, 100% { transform: translate(0, 0) scale(1); } + 50% { transform: translate(24px, -18px) scale(1.06); } +} +.contact-container { + position: relative; + z-index: 1; + max-width: 920px; + margin: 0 auto; + text-align: center; +} +.contact-head { + text-align: center; + margin-bottom: 8px; +} +.contact-eyebrow { + display: block; + font-family: 'Exo 2', sans-serif; + font-size: 11px; + letter-spacing: 0.45em; + color: var(--plasma-cyan); + margin-bottom: 14px; + animation: contact-eyebrow-glow 3.2s ease-in-out infinite; +} +@keyframes contact-eyebrow-glow { + 0%, 100% { opacity: 0.72; text-shadow: 0 0 10px rgba(0, 212, 255, 0.45); } + 50% { opacity: 1; text-shadow: 0 0 18px rgba(0, 212, 255, 0.85); } +} +.contact-title { + font-family: 'Noto Sans SC', sans-serif; + font-size: clamp(26px, 5vw, 40px); + margin: 0 0 12px; + letter-spacing: 0.12em; + background: linear-gradient( + 90deg, + var(--star-white) 0%, + var(--plasma-cyan) 35%, + var(--plasma-pink) 65%, + var(--star-white) 100% + ); + background-size: 220% auto; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + animation: contact-title-shine 5s linear infinite; +} +@keyframes contact-title-shine { + to { background-position: 220% center; } +} +.contact-sub { + color: rgba(255, 255, 255, 0.52); + font-size: 16px; + max-width: 520px; + margin: 0 auto; + line-height: 1.65; +} +.contact-title-line { + width: min(200px, 40vw); + height: 3px; + margin: 28px auto 0; + border-radius: 3px; + background: linear-gradient(90deg, transparent, var(--plasma-cyan), var(--plasma-pink), transparent); + opacity: 0.85; + animation: contact-line-pulse 2.8s ease-in-out infinite; +} +@keyframes contact-line-pulse { + 0%, 100% { opacity: 0.55; transform: scaleX(0.92); } + 50% { opacity: 1; transform: scaleX(1); } +} +.contact-info-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 22px; + margin-top: 44px; + justify-content: center; +} +.contact-card { + position: relative; + text-align: center; + padding: 28px 20px 30px; + border-radius: 18px; + border: 1px solid rgba(0, 212, 255, 0.18); + background: rgba(12, 16, 30, 0.35); + backdrop-filter: blur(14px); + -webkit-backdrop-filter: blur(14px); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22); + transition: + transform 0.4s cubic-bezier(0.34, 1.4, 0.64, 1), + border-color 0.35s ease, + box-shadow 0.35s ease; + animation: contact-card-rise 0.75s cubic-bezier(0.22, 1, 0.36, 1) backwards; +} +.contact-card:nth-child(1) { animation-delay: 0.06s; } +.contact-card:nth-child(2) { animation-delay: 0.16s; } +.contact-card:nth-child(3) { animation-delay: 0.26s; } +@keyframes contact-card-rise { + from { + opacity: 0; + transform: translateY(32px) scale(0.94); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} +.contact-card::before { + content: ''; + position: absolute; + inset: -1px; + border-radius: inherit; + padding: 1px; + background: linear-gradient( + 135deg, + rgba(0, 212, 255, 0.45), + rgba(255, 45, 149, 0.15), + rgba(0, 212, 255, 0.25) + ); + -webkit-mask: + linear-gradient(#fff 0 0) content-box, + linear-gradient(#fff 0 0); + mask: + linear-gradient(#fff 0 0) content-box, + linear-gradient(#fff 0 0); + -webkit-mask-composite: xor; + mask-composite: exclude; + opacity: 0.35; + pointer-events: none; + transition: opacity 0.35s ease; +} +.contact-card:hover { + transform: translateY(-8px) scale(1.02); + border-color: rgba(0, 212, 255, 0.42); + box-shadow: + 0 20px 48px rgba(0, 0, 0, 0.35), + 0 0 40px rgba(0, 212, 255, 0.12), + inset 0 1px 0 rgba(255, 255, 255, 0.06); +} +.contact-card:hover::before { + opacity: 0.75; +} +.contact-card-icon { + display: flex; + align-items: center; + justify-content: center; + width: 52px; + height: 52px; + margin: 0 auto 16px; + border-radius: 14px; + color: var(--plasma-cyan); + background: linear-gradient(145deg, rgba(0, 212, 255, 0.18), rgba(255, 45, 149, 0.1)); + border: 1px solid rgba(0, 212, 255, 0.25); + transition: transform 0.35s ease, box-shadow 0.35s ease; +} +.contact-card:hover .contact-card-icon { + transform: scale(1.08) rotate(-3deg); + box-shadow: 0 0 24px rgba(0, 212, 255, 0.25); +} +.contact-card-label { + font-size: 11px; + color: rgba(255, 255, 255, 0.42); + letter-spacing: 0.18em; + margin: 0 0 10px; + font-family: 'Exo 2', 'Noto Sans SC', sans-serif; + text-transform: uppercase; +} +.contact-card-body { + margin: 0; + font-size: 14px; + color: var(--star-white); + line-height: 1.75; +} +.contact-card-link { + display: inline-block; + font-size: 14px; + color: var(--star-white); + text-decoration: none; + line-height: 1.65; + transition: color 0.25s ease, text-shadow 0.25s ease; + word-break: break-all; +} +.contact-card-link:hover { + color: var(--plasma-cyan); + text-shadow: 0 0 12px rgba(0, 212, 255, 0.35); +} +@media (max-width: 900px) { + .contact-info-grid { + grid-template-columns: 1fr; + max-width: 400px; + margin-left: auto; + margin-right: auto; + } } -.contact-container { max-width: 800px; margin: 0 auto; text-align: center; } -.contact-info { display: flex; justify-content: center; flex-wrap: wrap; gap: 36px; margin-top: 32px; } -.contact-item { text-align: left; } -.contact-text h5 { font-size: 11px; color: rgba(255,255,255,0.4); letter-spacing: 1px; margin-bottom: 4px; font-family: 'Exo 2', sans-serif; } -.contact-text a, .contact-text p { font-size: 14px; color: var(--star-white); text-decoration: none; line-height: 1.65; } -.contact-text a:hover { color: var(--plasma-cyan); } .partners-section { padding: 60px 20px; text-align: center; position: relative; z-index: 10; } .partners-section h3 { font-size: 14px; color: rgba(255,255,255,0.38); letter-spacing: 4px; margin-bottom: 28px; font-family: 'Exo 2', sans-serif; }