diff --git a/README.md b/README.md index 9c0e78a..60d8a97 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ ## 🎨 设计特色 -- **主色调**:蓝(#1e3c72)、紫(#6a2c91)、亮青色(#00d4ff) +- **主色调**:蓝(#0E48C1)、紫(#E23AFB)、亮青色(#3DF8F8) - **导航栏**:粘性导航,支持下拉菜单 - **响应式设计**:完美适配桌面、平板和手机 - **交互效果**:平滑过渡、悬停效果、轮播图 diff --git a/api-server.js b/api-server.js index defa85d..7248edd 100644 --- a/api-server.js +++ b/api-server.js @@ -136,7 +136,7 @@ function flushPending() { ).join(''); const html = `

海古纪网站 - 新联系消息汇总

共有 ${pending.length} 条新消息:

- +${lines}
#姓名邮箱电话咨询类型消息内容提交时间
#姓名邮箱电话咨询类型消息内容提交时间
`; const now = new Date().toISOString(); sendResendMail(MAIL_TO, `【海古纪-联系我们】${pending.length} 条新消息汇总`, html) diff --git a/css/footer.css b/css/footer.css index e6912cd..753c7e7 100644 --- a/css/footer.css +++ b/css/footer.css @@ -1,15 +1,15 @@ -/* 底部渐变过渡:上色与页面背景一致,下色更深,形成无缝过渡 */ +/* 底部渐变过渡:大幅缩短,与页面背景融合 */ .footer-fade { - height: 160px; - background: linear-gradient(180deg, var(--rock-navy-0) 0%, #020409 100%); + height: 40px; + background: transparent; pointer-events: none; } -/* 底部样式 —— 顶部与页面背景同色,底部更深邃 */ +/* 底部样式 —— 透明背景,与页面主体融为一体 */ .footer { - background: linear-gradient(180deg, #020409 0%, #000103 100%); + background: transparent; color: white; - padding: 28px 0 12px; + padding: 16px 0 10px; } .footer-content { @@ -18,22 +18,22 @@ padding: 0 20px; display: grid; grid-template-columns: 1.1fr 1fr 0.9fr; - gap: 30px; - margin-bottom: 20px; + gap: 20px; + margin-bottom: 12px; } .footer-section h3 { - font-size: 1.2rem; - margin-bottom: 10px; + font-size: clamp(0.85rem, 1.5vw, 1.1rem); + margin-bottom: 8px; color: var(--ice-blue, #cfe8ff); font-weight: 600; } .footer-section p { - margin-bottom: 10px; - font-size: 0.86rem; + margin-bottom: 6px; + font-size: clamp(0.7rem, 1.2vw, 0.85rem); opacity: 0.9; - line-height: 1.8; + line-height: 1.6; } .footer-phone { @@ -46,7 +46,7 @@ } .footer-section ul li { - margin-bottom: 10px; + margin-bottom: 6px; } .footer-section ul li a { @@ -54,29 +54,29 @@ text-decoration: none; transition: color 0.3s; opacity: 0.9; - font-size: 0.95rem; + font-size: clamp(0.72rem, 1.2vw, 0.88rem); } .qr-grid { display: grid; - grid-template-columns: repeat(3, 54px); - gap: 8px; + grid-template-columns: repeat(3, 40px); + gap: 6px; } .qr-slot { - width: 54px; - height: 54px; + width: 40px; + height: 40px; border: 1px dashed rgba(255, 255, 255, 0.38); - border-radius: 6px; + border-radius: 4px; display: flex; align-items: center; justify-content: center; - font-size: 0.72rem; + font-size: 0.6rem; color: rgba(255, 255, 255, 0.82); } .footer-section ul li a:hover { - color: var(--electric-blue, #00d4ff); + color: var(--electric-blue, #3DF8F8); opacity: 1; } @@ -98,28 +98,28 @@ } .social-links a:hover { - background: var(--electric-blue, #00d4ff); - color: var(--rock-navy-0, #1e3c72); - border-color: var(--electric-blue, #00d4ff); + background: var(--electric-blue, #3DF8F8); + color: var(--rock-navy-0, #0E48C1); + border-color: var(--electric-blue, #3DF8F8); } -/* 底部栏 */ +/* 底部栏 —— 移除分界线,保持透明 */ .footer-bottom { max-width: 1200px; margin: 0 auto; - padding: 12px 20px; - border-top: 1px solid rgba(255, 255, 255, 0.1); + padding: 8px 20px; + border-top: none; text-align: center; - font-size: 0.9rem; + font-size: clamp(0.68rem, 1.1vw, 0.82rem); opacity: 0.8; } .footer-bottom p { - margin: 8px 0; + margin: 4px 0; } .footer-bottom a { - color: var(--electric-blue, #00d4ff); + color: var(--electric-blue, #3DF8F8); text-decoration: none; transition: color 0.3s; } @@ -133,58 +133,39 @@ @media (max-width: 768px) { .footer-content { grid-template-columns: repeat(2, 1fr); - gap: 30px; - } - - .footer-section h3 { - font-size: 1rem; - } - - .footer-section p, - .footer-section ul li a { - font-size: 0.9rem; + gap: 16px; } .footer-fade { - height: 100px; + height: 30px; } } @media (max-width: 480px) { .footer { - padding: 26px 0 12px; + padding: 12px 0 8px; } .footer-content { grid-template-columns: 1fr; - gap: 18px; - } - - .footer-section h3 { - font-size: 0.95rem; - } - - .footer-section p, - .footer-section ul li a { - font-size: 0.85rem; + gap: 12px; } .social-links { - gap: 10px; + gap: 8px; justify-content: center; } .social-links a { - padding: 6px 12px; - font-size: 0.8rem; + padding: 4px 10px; + font-size: 0.7rem; } .footer-bottom { - padding: 15px; - font-size: 0.8rem; + padding: 6px; } .footer-fade { - height: 70px; + height: 20px; } -} +} \ No newline at end of file diff --git a/css/nav.css b/css/nav.css index 9b3cffd..9e972aa 100644 --- a/css/nav.css +++ b/css/nav.css @@ -41,8 +41,10 @@ } .logo { - height: 50px; + height: 70px; width: auto; + padding: 8px 12px; + border-radius: 8px; } .nav-menu { @@ -70,11 +72,11 @@ } .nav-link:hover { - color: var(--electric-blue, #38bdf8); + color: var(--electric-blue, #5996FF); } .nav-link.active { - color: var(--electric-blue, #38bdf8); + color: var(--electric-blue, #5996FF); background: rgba(56, 189, 248, 0.12); border-radius: 6px; } @@ -134,13 +136,13 @@ .dropdown-menu a:hover { background: rgba(56, 189, 248, 0.12); padding-left: 25px; - color: var(--electric-blue, #38bdf8); + color: var(--electric-blue, #5996FF); } .dropdown-menu a.active, -.submenu-trigger.active > a { - color: var(--electric-blue, #38bdf8); +.submenu-trigger.active>a { + color: var(--electric-blue, #5996FF); background: rgba(56, 189, 248, 0.1); } @@ -148,7 +150,7 @@ position: relative; } -.submenu-trigger > a { +.submenu-trigger>a { display: flex; justify-content: space-between; align-items: center; @@ -175,6 +177,7 @@ visibility: visible; transform: translateX(0); } + /* 二维码容器 */ .qrcode-container { padding: 20px; @@ -244,13 +247,13 @@ } .customer-service-link:hover { - color: var(--electric-blue, #38bdf8); + color: var(--electric-blue, #5996FF); background: rgba(56, 189, 248, 0.14); transform: translateY(-1px); } .btn-contact { - background: linear-gradient(135deg, var(--electric-blue, #38bdf8) 0%, #6a2c91 100%); + background: linear-gradient(135deg, var(--electric-blue, #5996FF) 0%, #E23AFB 100%); color: white; border: none; padding: 10px 25px; @@ -321,6 +324,4 @@ height: 30px; font-size: 1rem; } -} - - +} \ No newline at end of file diff --git a/css/pages.css b/css/pages.css index 1f5231a..a4f4b26 100644 --- a/css/pages.css +++ b/css/pages.css @@ -4,11 +4,11 @@ overflow: hidden; background: transparent; color: white; - padding: 56px 20px; + padding: 40px 20px; text-align: center; - min-height: 260px; - height: 40vh; - max-height: 380px; + min-height: 180px; + height: 28vh; + max-height: 260px; display: flex; align-items: center; justify-content: center; @@ -107,6 +107,14 @@ color: var(--ice-blue); border-bottom: 3px solid var(--accent-color); padding-bottom: 15px; + display: flex; + align-items: center; + gap: 12px; +} + +.inline-logo { + height: 2rem; + width: auto; } .intro-subtitle { diff --git a/css/style.css b/css/style.css index 2daf1fd..4a68687 100644 --- a/css/style.css +++ b/css/style.css @@ -6,10 +6,10 @@ } :root { - --primary-blue: #1e3c72; - --primary-purple: #6a2c91; + --primary-blue: #0E48C1; + --primary-purple: #E23AFB; --secondary-blue: #2a5298; - --accent-color: #00d4ff; + --accent-color: #3DF8F8; --hero-overlay-color: rgba(127, 255, 212, 0.32); --light-bg: #f5f7fa; --dark-text: #333; @@ -22,7 +22,7 @@ --rock-navy-3: #1b2c4a; --ice-blue: #cfe8ff; --ice-blue-dim: #9cc6ec; - --electric-blue: #38bdf8; + --electric-blue: #5996FF; --coral-accent: #ff8a5c; } @@ -32,12 +32,12 @@ body { line-height: 1.6; position: relative; background: - radial-gradient(ellipse 60% 45% at 18% 10%, rgba(148, 163, 184, 0.14), transparent 60%), - radial-gradient(ellipse 55% 40% at 82% 6%, rgba(110, 130, 170, 0.12), transparent 60%), - radial-gradient(ellipse 70% 55% at 85% 92%, rgba(56, 189, 248, 0.09), transparent 65%), - repeating-linear-gradient(152deg, rgba(200, 214, 232, 0.04) 0px, rgba(200, 214, 232, 0.04) 2px, transparent 2px, transparent 26px), - repeating-linear-gradient(64deg, rgba(9, 14, 26, 0.3) 0px, rgba(9, 14, 26, 0.3) 3px, transparent 3px, transparent 40px), - linear-gradient(180deg, var(--rock-navy-1) 0%, var(--rock-navy-2) 45%, var(--rock-navy-1) 75%, var(--rock-navy-0) 100%); + radial-gradient(ellipse 60% 45% at 18% 10%, rgba(148, 163, 184, 0.18), transparent 60%), + radial-gradient(ellipse 55% 40% at 82% 6%, rgba(110, 130, 170, 0.15), transparent 60%), + radial-gradient(ellipse 70% 55% at 85% 92%, rgba(56, 189, 248, 0.12), transparent 65%), + repeating-linear-gradient(152deg, rgba(200, 214, 232, 0.06) 0px, rgba(200, 214, 232, 0.06) 2px, transparent 2px, transparent 26px), + repeating-linear-gradient(64deg, rgba(9, 14, 26, 0.25) 0px, rgba(9, 14, 26, 0.25) 3px, transparent 3px, transparent 40px), + linear-gradient(180deg, var(--rock-navy-2) 0%, var(--rock-navy-3) 45%, var(--rock-navy-2) 75%, var(--rock-navy-1) 100%); background-attachment: fixed, fixed, fixed, fixed, fixed, fixed; } @@ -47,7 +47,7 @@ body::before { inset: 0; z-index: -1; pointer-events: none; - opacity: 0.55; + opacity: 0.35; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,"), @@ -75,9 +75,9 @@ body::before { /* 英雄部分 —— 与全站统一的深海岩层背景(由 body 提供),此处保持透明 */ .hero { position: relative; - height: 62vh; - min-height: 460px; - max-height: 680px; + height: 50vh; + min-height: 380px; + max-height: 550px; overflow: hidden; background: transparent; } @@ -111,12 +111,13 @@ body::before { from { opacity: 0; } + to { opacity: 1; } } -.hero-slide > img { +.hero-slide>img { position: absolute; width: 100%; height: 100%; @@ -131,10 +132,10 @@ body::before { position: absolute; inset: 0; z-index: 1; - background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(28, 45, 74, 0.35), rgba(5, 7, 12, 0.55) 80%); + background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(28, 45, 74, 0.2), rgba(5, 7, 12, 0.3) 80%); } -.hero-brand-slide > img { +.hero-brand-slide>img { opacity: 0.1; } @@ -150,6 +151,10 @@ body::before { max-width: 960px; padding: 0 20px; margin: 0 auto; + display: flex; + flex-direction: column; + align-items: center; + gap: 10px; } .hero-brand-heading { @@ -163,24 +168,22 @@ body::before { } .hero-brand-logo { - height: 8.5rem; + height: 12rem; width: auto; flex: 0 0 auto; - filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.28)); } .hero-eyebrow-line { - display: inline-flex; - align-items: baseline; - flex-wrap: wrap; - gap: 0.3em; + display: flex; + justify-content: center; font-family: 'JetBrains Mono', monospace; - font-size: 1rem; - font-weight: 500; - letter-spacing: 0.28em; + font-size: 3rem; + font-weight: 900; + letter-spacing: 0.15em; text-transform: uppercase; - color: var(--ice-blue-dim); - margin-bottom: 20px; + color: var(--ice-blue); + margin-bottom: 10px; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .hero-hyphen { @@ -195,12 +198,12 @@ body::before { .hero-main-title { font-family: 'Noto Serif SC', serif; font-weight: 900; - font-size: 3.2rem; + font-size: 2.5rem; line-height: 1.4; letter-spacing: 0.01em; color: var(--ice-blue); text-shadow: 0 0 34px rgba(56, 189, 248, 0.28); - margin-bottom: 0; + margin-bottom: 12px; } .hero-dash { @@ -216,6 +219,7 @@ body::before { flex-wrap: wrap; gap: 14px; margin-top: 26px; + justify-content: center; } .hero-badge { @@ -284,14 +288,28 @@ body::before { } @keyframes scrollCueMove { - 0% { transform: scaleY(0.3); transform-origin: top; opacity: 0.4; } - 50% { transform: scaleY(1); transform-origin: top; opacity: 1; } - 100% { transform: scaleY(0.3); transform-origin: bottom; opacity: 0.4; } + 0% { + transform: scaleY(0.3); + transform-origin: top; + opacity: 0.4; + } + + 50% { + transform: scaleY(1); + transform-origin: top; + opacity: 1; + } + + 100% { + transform: scaleY(0.3); + transform-origin: bottom; + opacity: 0.4; + } } /* 关键词标记带 */ .marquee-strip { - background: var(--rock-navy-0); + background: transparent; border-top: 1px solid rgba(156, 198, 236, 0.12); border-bottom: 1px solid rgba(156, 198, 236, 0.12); overflow: hidden; @@ -316,8 +334,13 @@ body::before { } @keyframes marqueeScroll { - from { transform: translateX(0); } - to { transform: translateX(-50%); } + from { + transform: translateX(0); + } + + to { + transform: translateX(-50%); + } } @media (prefers-reduced-motion: reduce) { @@ -336,19 +359,6 @@ body::before { overflow: hidden; } -.section-scan { - position: absolute; - left: 0; - right: 0; - top: 0; - height: 2px; - background: linear-gradient(90deg, transparent, var(--electric-blue), transparent); - box-shadow: 0 0 16px 2px rgba(56, 189, 248, 0.6); - pointer-events: none; - z-index: 5; - opacity: 0; -} - .section-heading { text-align: center; max-width: 640px; @@ -373,12 +383,10 @@ body::before { letter-spacing: 0.02em; } -/* 产品预览部分 —— 深色岩层卡片 */ +/* 产品预览部分 —— 透明背景,显示body背景 */ .products-preview { padding: 110px 0; - background: - radial-gradient(ellipse 60% 50% at 85% 0%, rgba(56, 189, 248, 0.06), transparent 60%), - linear-gradient(180deg, var(--rock-navy-0) 0%, var(--rock-navy-1) 100%); + background: transparent; } .preview-grid { @@ -456,10 +464,10 @@ body::before { color: var(--ice-blue); } -/* 学术与动态部分 —— 深色双栏 */ +/* 学术与动态部分 —— 透明背景 */ .academic-news { padding: 110px 0; - background: var(--rock-navy-1); + background: transparent; } .section-row { @@ -539,9 +547,8 @@ body::before { } .hero-eyebrow-line { - font-size: 0.82rem; + font-size: 1.54rem; letter-spacing: 0.2em; - justify-content: center; } .hero-main-title { @@ -577,7 +584,7 @@ body::before { @media (max-width: 480px) { .hero { - height: 400px; + height: 340px; } .hero-content { @@ -601,7 +608,7 @@ body::before { } .hero-eyebrow-line { - font-size: 0.7rem; + font-size: 1.31rem; letter-spacing: 0.14em; } } @@ -609,7 +616,7 @@ body::before { .home-video-section { - background: var(--rock-navy-0); + background: transparent; padding: 100px 20px; } @@ -664,4 +671,4 @@ body::before { .home-video-layout { grid-template-columns: 1fr; } -} +} \ No newline at end of file diff --git a/index.html b/index.html index da58227..2a8d95b 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,9 @@ 海古纪生物科技 - 精准基因组学解决方案 - + @@ -19,7 +21,7 @@