科技公司新品发布着陆页:极简美学与渐变科技感融合设计

By admin, 1 May, 2026
推理
Let me analyze the design tokens and UI structure provided. This is a landing page for a tech company with a hero section featuring a product card for "SkyVision Pro 无人机" (drone). Let me think about the design direction.

The tokens provide:
- Colors: primary blue (#3B82F6), various grays
- Font sizes and weights
- Spacing values
- Component structure: Header, HeroSection with ProductCard

Let me get a design system recommendation and some assets to enhance this.

First, let me think about the aesthetic direction. This is a tech company landing page featuring a drone product. I want to go with a modern, clean tech aesthetic with some futuristic elements. Let me use a sleek dark/light contrast with the blue primary color.

Let me get design system recommendations and assets.Let me analyze what I have:

1. Design system recommends Minimalism, Hero + Features + CTA pattern
2. Assets: I have a drone image (product-23.jpg) showing a man holding a Mavic Pro drone in a wheat field - this is great for the hero section. And product-66.png is a thermal camera module.

Let me now create a stunning landing page. I'll go with a modern tech-minimalist aesthetic but add some unique touches:

- Use a beautiful dark/light contrast
- Gradient text for the heading
- Clean typography with a nice Google Font
- Subtle animations using AOS
- The drone image as the hero visual

Let me think about fonts - I want to avoid Inter as the design system suggests it. Let me use something more unique. Maybe "Outfit" for headings and "DM Sans" for body text? Or "Space Grotesk"? Let me pick something distinctive.

Actually, looking at this more carefully, let me go with a bold, modern direction. I'll use:
- Heading: "Outfit" - modern, geometric, clean
- Body: "DM Sans" - elegant and readable

Let me build this out with:
1. A sleek header with navigation
2. Hero section with gradient text heading
3. Product card with the drone image
4. Nice hover effects and animations
5. Responsive design

Let me craft a beautiful UI that goes beyond the basic structure provided.Good. I have the drone image (product-23.jpg) and a tech background image. Let me now build a stunning landing page.

Let me plan:

1. **Header**: Clean nav with logo, links, login button and CTA
2. **Hero Section**:
- Large gradient heading "Introducing Our Newest Innovations"
- Subtext
- Product card featuring the drone with badge
- Two CTA buttons
3. **Background**: Soft gradient + subtle texture

Let me design with a modern, premium tech feel. I'll use:
- Google Fonts: "Outfit" (headings) and "DM Sans" (body)
- Subtle background gradient
- Glass-morphism card effects
- Smooth animations

Let me write the complete HTML now.Now I have all the assets I need. Let me create the full HTML page. I'll use:

1. Drone image: /assets/images/products/product-23.jpg
2. Background texture image: /assets/images/bg/bg.png

Let me now craft a beautiful, unique landing page. I'll go with a modern minimal tech aesthetic with subtle depth.

Design decisions:
- Font: "Outfit" for headings (sleek, modern), "DM Sans" for body
- Color palette based on the design tokens but enhanced
- Subtle gradient background
- Glass-morphism card effect
- Smooth entrance animations
- Responsive layout
- Custom scrollbar and hover effects

Let me build this out now.Let me now build the complete HTML. I have everything I need. Let me create a stunning landing page.

My approach:
1. Modern tech-minimalist with subtle depth and premium feel
2. Use Outfit for headings, DM Sans for body text
3. Gradient text on the main heading
4. Glass-morphism card with drone image
5. Smooth animations using CSS keyframes and AOS
6. Responsive design
7. Beautiful hover effects

Let me write the complete code now.I have the drone image from earlier (product-23.jpg) - that's the main one I need. Let me now create the complete HTML page. Let me also use the bg.png for the background.

Let me craft the HTML now.Good, now I have everything I need. Let me build the complete HTML page. I'll create a stunning modern tech landing page with:

1. A beautiful header with navigation
2. A hero section with gradient animated text
3. A product card featuring the drone with "新品上市" badge
4. CTA buttons with hover effects
5. Smooth animations
6. Responsive design
7. Particle/grid background effect for visual depth

Let me write the code now.
角色
assistant
content

```json
{
"summary": "基于设计稿令牌系统,生成了一个科技公司新品发布着陆页。采用现代极简美学风格,融合渐变文字主标题、毛玻璃产品卡片、无人机产品图展示、新品标签徽章等核心元素。配色以蓝色渐变为主,搭配深色文字和柔和背景,字体选用Outfit+DMSans组合提升科技感。实现了响应式布局、平滑入场动画、悬停交互效果,整体视觉干净利落且富有冲击力。",
"widget": {
"type": "full-html",
"html": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Tech Innovations - 新品发布</title>\n <script src=\"https://cdn.tailwindcss.com\"></script>\n <link href=\"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;70…\" rel=\"stylesheet\">\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.c…\">\n <link href=\"https://unpkg.com/aos@2.3.1/dist/aos.css\" rel=\"stylesheet\">\n <script src=\"https://unpkg.com/aos@2.3.1/dist/aos.js\"></script>\n <style>\n :root {\n --primary: #3B82F6;\n --primary-dark: #2563EB;\n --primary-light: #60A5FA;\n --text: #111827;\n --muted: #6B7280;\n --background: #F3F4F6;\n --surface: #FFFFFF;\n --nav-text: #333333;\n --accent-gradient: linear-gradient(135deg, #3B82F6, #8B5CF6);\n --card-radius: 16px;\n }\n\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n\n body {\n font-family: 'DM Sans', sans-serif;\n background-color: var(--background);\n color: var(--text);\n overflow-x: hidden;\n min-height: 100vh;\n }\n\n h1, h2, h3, h4, h5, h6 {\n font-family: 'Outfit', sans-serif;\n }\n\n /* Background with geometric pattern overlay */\n .bg-pattern {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 0;\n background: linear-gradient(160deg, #EBF4FF 0%, #F3F4F6 40%, #E8F0FE 100%);\n overflow: hidden;\n }\n\n .bg-pattern::before {\n content: '';\n position: absolute;\n top: -50%;\n left: -50%;\n width: 200%;\n height: 200%;\n background-image: \n radial-gradient(circle at 20% 30%, rgba(59, 130, 246, 0.06) 0%, transparent 50%),\n radial-gradient(circle at 80% 70%, rgba(139, 92, 246, 0.05) 0%, transparent 50%),\n radial-gradient(circle at 50% 50%, rgba(59, 130, 246, 0.03) 0%, transparent 60%);\n animation: bgShift 20s ease-in-out infinite alternate;\n }\n\n .bg-pattern::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-image: \n linear-gradient(135deg, rgba(59, 130, 246, 0.04) 25%, transparent 25%),\n linear-gradient(225deg, rgba(59, 130, 246, 0.04) 25%, transparent 25%),\n linear-gradient(315deg, rgba(59, 130, 246, 0.04) 25%, transparent 25%),\n linear-gradient(45deg, rgba(59, 130, 246, 0.04) 25%, transparent 25%);\n background-size: 60px 60px;\n background-position: 0 0, 30px 0, 30px -30px, 0px 30px;\n opacity: 0.5;\n }\n\n @keyframes bgShift {\n 0% { transform: translate(0, 0) scale(1); }\n 100% { transform: translate(-2%, -1%) scale(1.02); }\n }\n\n /* Floating geometric shapes */\n .float-shape {\n position: absolute;\n border-radius: 50%;\n opacity: 0.08;\n pointer-events: none;\n }\n\n .float-shape-1 {\n width: 400px;\n height: 400px;\n background: var(--primary);\n top: -100px;\n right: -100px;\n animation: floatAnim1 15s ease-in-out infinite;\n }\n\n .float-shape-2 {\n width: 300px;\n height: 300px;\n background: #8B5CF6;\n bottom: -80px;\n left: -80px;\n animation: floatAnim2 18s ease-in-out infinite;\n }\n\n .float-shape-3 {\n width: 200px;\n height: 200px;\n background: var(--primary-light);\n top: 40%;\n left: 60%;\n animation: floatAnim3 12s ease-in-out infinite;\n }\n\n @keyframes floatAnim1 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 50% { transform: translate(-30px, 40px) scale(1.05); }\n }\n\n @keyframes floatAnim2 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 50% { transform: translate(40px, -30px) scale(1.08); }\n }\n\n @keyframes floatAnim3 {\n 0%, 100% { transform: translate(0, 0) scale(1); }\n 50% { transform: translate(-20px, -40px) scale(1.1); }\n }\n\n /* Header */\n .site-header {\n position: sticky;\n top: 0;\n z-index: 50;\n background: rgba(255, 255, 255, 0.85);\n backdrop-filter: blur(20px) saturate(1.2);\n -webkit-backdrop-filter: blur(20px) saturate(1.2);\n border-bottom: 1px solid rgba(59, 130, 246, 0.08);\n transition: all 0.3s ease;\n }\n\n .site-header.scrolled {\n background: rgba(255, 255, 255, 0.95);\n box-shadow: 0 1px 20px rgba(0, 0, 0, 0.06);\n }\n\n .nav-link {\n position: relative;\n transition: color 0.3s ease;\n }\n\n .nav-link::after {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 50%;\n width: 0;\n height: 2px;\n background: var(--primary);\n transition: all 0.3s ease;\n transform: translateX(-50%);\n border-radius: 1px;\n }\n\n .nav-link:hover::after {\n width: 100%;\n }\n\n .nav-link:hover {\n color: var(--primary) !important;\n }\n\n /* Logo glow */\n .logo-dot {\n display: inline-block;\n width: 8px;\n height: 8px;\n background: var(--primary);\n border-radius: 50%;\n animation: dotPulse 2s ease-in-out infinite;\n }\n\n @keyframes dotPulse {\n 0%, 100% { opacity: 1; transform: scale(1); }\n 50% { opacity: 0.6; transform: scale(0.8); }\n }\n\n /* Gradient text */\n .gradient-text {\n background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 30%, #8B5CF6 70%, #7C3AED 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n background-size: 200% 200%;\n animation: gradientShift 4s ease-in-out infinite alternate;\n }\n\n @keyframes gradientShift {\n 0% { background-position: 0% 50%; }\n 100% { background-position: 100% 50%; }\n }\n\n /* Hero subtitle glow underline */\n .glow-underline {\n position: relative;\n display: inline-block;\n }\n\n .glow-underline::after {\n content: '';\n position: absolute;\n bottom: -4px;\n left: 50%;\n transform: translateX(-50%);\n width: 60%;\n height: 3px;\n background: linear-gradient(90deg, transparent, var(--primary-light), transparent);\n border-radius: 2px;\n opacity: 0.6;\n }\n\n /* Product Card - Glassmorphism */\n .product-card {\n background: rgba(255, 255, 255, 0.75);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n border: 1px solid rgba(255, 255, 255, 0.8);\n border-radius: var(--card-radius);\n box-shadow: \n 0 4px 24px rgba(59, 130, 246, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.02),\n inset 0 1px 0 rgba(255, 255, 255, 0.8);\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n overflow: hidden;\n }\n\n .product-card:hover {\n transform: translateY(-8px) scale(1.01);\n box-shadow: \n 0 20px 60px rgba(59, 130, 246, 0.15),\n 0 8px 20px rgba(0, 0, 0, 0.06),\n inset 0 1px 0 rgba(255, 255, 255, 0.8);\n }\n\n .product-image-wrapper {\n position: relative;\n overflow: hidden;\n border-radius: 12px;\n }\n\n .product-image-wrapper img {\n transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);\n }\n\n .product-card:hover .product-image-wrapper img {\n transform: scale(1.06);\n }\n\n .product-image-wrapper::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(to bottom, transparent 60%, rgba(0,0,0,0.03));\n pointer-events: none;\n }\n\n /* Badge */\n .badge-new {\n background: linear-gradient(135deg, #3B82F6, #2563EB);\n box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);\n animation: badgePulse 2s ease-in-out infinite;\n }\n\n @keyframes badgePulse {\n 0%, 100% { box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); }\n 50% { box-shadow: 0 4px 20px rgba(59, 130, 246, 0.5); }\n }\n\n /* Learn more link */\n .learn-more {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n color: var(--primary);\n font-weight: 500;\n cursor: pointer;\n transition: all 0.3s ease;\n position: relative;\n }\n\n .learn-more i {\n transition: transform 0.3s ease;\n }\n\n .learn-more:hover {\n color: var(--primary-dark);\n gap: 12px;\n }\n\n .learn-more:hover i {\n transform: translateX(4px);\n }\n\n .learn-more::before {\n content: '';\n position: absolute;\n bottom: -2px;\n left: 0;\n width: 0;\n height: 1.5px;\n background: var(--primary);\n transition: width 0.3s ease;\n }\n\n .learn-more:hover::before {\n width: 100%;\n }\n\n /* Buttons */\n .btn-primary {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 14px 32px;\n background: linear-gradient(135deg, #3B82F6, #2563EB);\n color: white;\n border: none;\n border-radius: 12px;\n font-family: 'Outfit', sans-serif;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n box-shadow: 0 4px 16px rgba(59, 130, 246, 0.25);\n position: relative;\n overflow: hidden;\n }\n\n .btn-primary::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);\n transition: left 0.6s ease;\n }\n\n .btn-primary:hover::before {\n left: 100%;\n }\n\n .btn-primary:hover {\n transform: translateY(-2px);\n box-shadow: 0 8px 30px rgba(59, 130, 246, 0.35);\n }\n\n .btn-primary:active {\n transform: translateY(0);\n }\n\n .btn-outline {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 14px 32px;\n background: transparent;\n color: var(--primary);\n border: 2px solid rgba(59, 130, 246, 0.2);\n border-radius: 12px;\n font-family: 'Outfit', sans-serif;\n font-size: 16px;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n position: relative;\n overflow: hidden;\n }\n\n .btn-outline::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(139, 92, 246, 0.05));\n transform: scaleX(0);\n transform-origin: right;\n transition: transform 0.4s ease;\n }\n\n .btn-outline:hover::before {\n transform: scaleX(1);\n transform-origin: left;\n }\n\n .btn-outline:hover {\n border-color: var(--primary);\n transform: translateY(-2px);\n box-shadow: 0 8px 30px rgba(59, 130, 246, 0.1);\n }\n\n /* Section spacing */\n .hero-section {\n min-height: calc(100vh - 80px);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 24px;\n position: relative;\n z-index: 1;\n }\n\n /* Desktop image */\n .product-img {\n width: 100%;\n height: 260px;\n object-fit: cover;\n border-radius: 12px;\n }\n\n /* Scroll indicator */\n .scroll-indicator {\n position: absolute;\n bottom: 30px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n animation: scrollBounce 2s ease-in-out infinite;\n cursor: pointer;\n }\n\n .scroll-indicator span {\n font-size: 12px;\n color: var(--muted);\n letter-spacing: 2px;\n text-transform: uppercase;\n font-family: 'Outfit', sans-serif;\n font-weight: 400;\n }\n\n .scroll-indicator .scroll-line {\n width: 1px;\n height: 24px;\n background: linear-gradient(to bottom, var(--muted), transparent);\n }\n\n @keyframes scrollBounce {\n 0%, 100% { transform: translateX(-50%) translateY(0); }\n 50% { transform: translateX(-50%) translateY(6px); }\n }\n\n /* Hamburger menu */\n .hamburger {\n display: none;\n flex-direction: column;\n justify-content: space-between;\n width: 24px;\n height: 18px;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n }\n\n .hamburger span {\n display: block;\n width: 100%;\n height: 2px;\n background: var(--text);\n border-radius: 2px;\n transition: all 0.3s ease;\n }\n\n .hamburger.active span:nth-child(1) {\n transform: rotate(45deg) translate(5px, 6px);\n }\n\n .hamburger.active span:nth-child(2) {\n opacity: 0;\n }\n\n .hamburger.active span:nth-child(3) {\n transform: rotate(-45deg) translate(5px, -6px);\n }\n\n /* Mobile menu */\n .mobile-menu {\n position: fixed;\n top: 72px;\n left: 0;\n width: 100%;\n background: rgba(255, 255, 255, 0.98);\n backdrop-filter: blur(20px);\n -webkit-backdrop-filter: blur(20px);\n padding: 24px;\n transform: translateY(-120%);\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n border-bottom: 1px solid rgba(59, 130, 246, 0.08);\n z-index: 40;\n box-shadow: 0 20px 40px rgba(0,0,0,0.06);\n }\n\n .mobile-menu.open {\n transform: translateY(0);\n opacity: 1;\n }\n\n /* Stats counter row */\n .stat-item {\n text-align: center;\n padding: 16px;\n }\n\n .stat-number {\n font-family: 'Outfit', sans-serif;\n font-size: 32px;\n font-weight: 800;\n background: linear-gradient(135deg, #1E40AF, #3B82F6);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n }\n\n .stat-label {\n font-size: 14px;\n color: var(--muted);\n margin-top: 4px;\n font-weight: 400;\n }\n\n /* Divider */\n .section-divider {\n width: 60px;\n height: 3px;\n background: linear-gradient(90deg, var(--primary), var(--primary-light));\n border-radius: 2px;\n margin: 16px auto;\n }\n\n /* Responsive */\n @media (max-width: 768px) {\n .nav-links {\n display: none !important;\n }\n\n .hamburger {\n display: flex;\n }\n\n .hero-section {\n padding: 24px 16px;\n min-height: auto;\n padding-top: 32px;\n }\n\n .product-img {\n height: 200px;\n }\n\n .btn-primary, .btn-outline {\n width: 100%;\n padding: 14px 24px;\n }\n\n .cta-buttons {\n flex-direction: column;\n width: 100%;\n max-width: 320px;\n }\n\n .stats-row {\n flex-wrap: wrap;\n justify-content: center;\n }\n\n .stat-item {\n width: 50%;\n }\n\n .scroll-indicator {\n display: none;\n }\n }\n\n @media (min-width: 768px) and (max-width: 1024px) {\n .hero-section {\n padding-top: 60px;\n }\n }\n\n @media (min-width: 1024px) {\n .product-img {\n height: 300px;\n }\n }\n\n /* Smooth scroll */\n html {\n scroll-behavior: smooth;\n }\n\n /* Selection color */\n ::selection {\n background: rgba(59, 130, 246, 0.2);\n color: var(--text);\n }\n\n /* Scrollbar */\n ::-webkit-scrollbar {\n width: 6px;\n }\n\n ::-webkit-scrollbar-track {\n background: transparent;\n }\n\n ::-webkit-scrollbar-thumb {\n background: rgba(59, 130, 246, 0.2);\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background: rgba(59, 130, 246, 0.4);\n }\n </style>\n</head>\n<body>\n <!-- Background Pattern -->\n <div class=\"bg-pattern\">\n <div class=\"float-shape float-shape-1\"></div>\n <div class=\"float-shape float-shape-2\"></div>\n <div class=\"float-shape float-shape-3\"></div>\n </div>\n\n <!-- Header -->\n <header class=\"site-header\" id=\"siteHeader\">\n <div class=\"max-w-7xl mx-auto flex items-center justify-between px-4 md:px-8\" style=\"height: 72px;\">\n <!-- Logo area -->\n <div class=\"flex items-center gap-2\">\n <span class=\"text-sm font-medium\" style=\"color: #9CA3AF; letter-spacing: 0.5px; font-family: 'Outfit', sans-serif;\">Tech Company</span>\n <span class=\"text-lg font-bold\" style=\"color: var(--text); font-family: 'Outfit', sans-serif;\">\n Tech<span class=\"logo-dot align-middle mx-1\"></span>Innovations\n </span>\n </div>\n\n <!-- Nav links (desktop) -->\n <nav class=\"nav-links flex items-center gap-6\">\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--nav-text); text-decoration: none;\">首页</a>\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--nav-text); text-decoration: none;\">产品</a>\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--nav-text); text-decoration: none;\">解决方案</a>\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--nav-text); text-decoration: none;\">资源</a>\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--nav-text); text-decoration: none;\">联系我们</a>\n <div class=\"flex items-center gap-4 ml-2\">\n <a href=\"#\" class=\"nav-link text-sm font-medium\" style=\"color: var(--primary); text-decoration: none;\">登录</a>\n <button class=\"btn-primary text-sm\" style=\"padding: 10px 24px; font-size: 14px;\">免费试用</button>\n </div>\n </nav>\n\n <!-- Hamburger -->\n <button class=\"hamburger\" id=\"hamburgerBtn\" aria-label=\"菜单\">\n <span></span>\n <span></span>\n <span></span>\n </button>\n </div>\n\n <!-- Mobile Menu -->\n <div class=\"mobile-menu\" id=\"mobileMenu\">\n <nav class=\"flex flex-col gap-5\">\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--text); text-decoration: none;\">首页</a>\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--text); text-decoration: none;\">产品</a>\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--text); text-decoration: none;\">解决方案</a>\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--text); text-decoration: none;\">资源</a>\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--text); text-decoration: none;\">联系我们</a>\n <hr class=\"border-gray-100\">\n <a href=\"#\" class=\"text-base font-medium\" style=\"color: var(--primary); text-decoration: none;\">登录</a>\n <button class=\"btn-primary w-full\" style=\"padding: 12px 24px;\">免费试用</button>\n </nav>\n </div>\n </header>\n\n <!-- Hero Section -->\n <main class=\"hero-section\" id=\"hero\">\n <div class=\"max-w-6xl mx-auto w-full\" style=\"z-index: 1;\">\n <!-- Heading -->\n <div class=\"text-center mb-6\" data-aos=\"fade-up\" data-aos-duration=\"800\">\n <h1 class=\"gradient-text text-4xl md:text-5xl lg:text-6xl font-extrabold leading-tight tracking-tight\" \n style=\"font-family: 'Outfit', sans-serif; max-width: 800px; margin: 0 auto;\">\n Introducing Our Newest Innovations\n </h1>\n </div>\n\n <!-- Subtitle -->\n <div class=\"text-center max-w-2xl mx-auto mb-10\" data-aos=\"fade-up\" data-aos-duration=\"800\" data-aos-delay=\"150\">\n <p class=\"text-base md:text-lg\" style=\"color: var(--muted); line-height: 1.7;\">\n 探索我们最新的突破性产品,将科技与设计完美融合,为您带来前所未有的体验\n </p>\n <div class=\"section-divider\"></div>\n </div>\n\n <!-- Product Card -->\n <div class=\"product-card max-w-lg mx-auto\" data-aos=\"fade-up\" data-aos-duration=\"900\" data-aos-delay=\"300\">\n <div class=\"p-6 md:p-8\">\n <!-- Image -->\n <div class=\"product-image-wrapper relative mb-5\">\n <img \n src=\"/assets/images/products/product-23.jpg\" \n alt=\"SkyVision Pro 无人机\"\n class=\"product-img w-full\"\n loading=\"lazy\"\n >\n <!-- Badge -->\n <span class=\"badge-new absolute top-3 right-3 px-3 py-1.5 text-xs font-semibold text-white rounded-lg\"\n style=\"letter-spacing: 0.3px; font-family: 'Outfit', sans-serif;\">\n <i class=\"fa-solid fa-sparkles mr-1 text-[10px]\"></i> 新品上市\n </span>\n </div>\n\n <!-- Title -->\n <h3 class=\"text-lg md:text-xl font-bold text-center mb-2\" \n style=\"font-family: 'Outfit', sans-serif; color: var(--text);\">\n SkyVision Pro 无人机\n </h3>\n\n <!-- Description -->\n <p class=\"text-sm text-center\" style=\"color: var(--muted); line-height: 1.6; max-width: 340px; margin: 0 auto;\">\n 专业级航拍解决方案,4K高清影像,智能避障,续航长达45分钟\n </p>\n\n <!-- Divider -->\n <div class=\"my-4 flex justify-center\">\n <div style=\"width: 40px; height: 2px; background: linear-gradient(90deg, transparent, rgba(59,130,246,0.2), transparent);\"></div>\n </div>\n\n <!-- Learn more -->\n <div class=\"text-center\">\n <a href=\"#\" class=\"learn-more text-sm\">\n 了解更多\n <i class=\"fa-solid fa-arrow-right text-xs\"></i>\n </a>\n </div>\n </div>\n </div>\n\n <!-- CTA Buttons -->\n <div class=\"flex cta-buttons justify-center gap-4 mt-10\" data-aos=\"fade-up\" data-aos-duration=\"800\" data-aos-delay=\"500\">\n <button class=\"btn-primary\">\n <i class=\"fa-solid fa-grid-2\"></i>\n 浏览全部产品\n </button>\n <button class=\"btn-outline\">\n <i class=\"fa-solid fa-circle-play\"></i>\n 观看演示视频\n </button>\n </div>\n\n <!-- Stats row -->\n <div class=\"stats-row flex justify-center gap-8 md:gap-16 mt-14\" data-aos=\"fade-up\" data-aos-duration=\"800\" data-aos-delay=\"650\">\n <div class=\"stat-item\">\n <div class=\"stat-number\">12K+</div>\n <div class=\"stat-label\">全球用户</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-number\">98%</div>\n <div class=\"stat-label\">满意率</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-number\">45+</div>\n <div class=\"stat-label\">国家覆盖</div>\n </div>\n <div class=\"stat-item\">\n <div class=\"stat-number\">150</div>\n <div class=\"stat-label\">行业奖项</div>\n </div>\n </div>\n </div>\n\n <!-- Scroll indicator -->\n <div class=\"scroll-indicator\">\n <span>向下探索</span>\n <div class=\"scroll-line\"></div>\n </div>\n </main>\n\n <!-- Scripts -->\n <script>\n // Initialize AOS\n AOS.init({\n once: true,\n disable: 'mobile',\n easing: 'ease-out-cubic',\n duration: 800,\n });\n\n // Header scroll effect\n const header = document.getElementById('siteHeader');\n let lastScroll = 0;\n\n window.addEventListener('scroll', () => {\n const currentScroll = window.pageYOffset;\n if (currentScroll > 50) {\n header.classList.add('scrolled');\n } else {\n header.classList.remove('scrolled');\n }\n lastScroll = currentScroll;\n });\n\n // Hamburger menu\n const hamburger = document.getElementById('hamburgerBtn');\n const mobileMenu = document.getElementById('mobileMenu');\n\n hamburger.addEventListener('click', () => {\n hamburger.classList.toggle('active');\n mobileMenu.classList.toggle('open');\n document.body.style.overflow = mobileMenu.classList.contains('open') ? 'hidden' : '';\n });\n\n // Close mobile menu on link click\n document.querySelectorAll('.mobile-menu a').forEach(link => {\n link.addEventListener('click', () => {\n hamburger.classList.remove('active');\n mobileMenu.classList.remove('open');\n document.body.style.overflow = '';\n });\n });\n\n // Scroll indicator click\n document.querySelector('.scroll-indicator')?.addEventListener('click', () => {\n window.scrollTo({\n top: window.innerHeight,\n behavior: 'smooth'\n });\n });\n\n // Parallax-like floating effect on product card\n const card = document.querySelector('.product-card');\n if (card && window.innerWidth > 768) {\n card.addEventListener('mousemove', (e) => {\n const rect = card.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n const centerX = rect.width / 2;\n const centerY = rect.height / 2;\n const rotateX = (y - centerY) / 20;\n const rotateY = (centerX - x) / 20;\n card.style.transform = `perspective(1000px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) translateY(-4px)`;\n });\n\n card.addEventListener('mouseleave', () => {\n card.style.transform = 'perspective(1000px) rotateX(0deg) rotateY(0deg) translateY(0)';\n });\n }\n\n // Animate stats on scroll\n const observerOptions = {\n threshold: 0.3,\n rootMargin: '0px'\n };\n\n const statsObserver = new IntersectionObserver((entries) => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n const numbers = entry.target.querySelectorAll('.stat-number');\n numbers.forEach(el => {\n const text = el.textContent;\n if (text.includes('+')) {\n const num = parseInt(text.replace(/[^0-9]/g, ''));\n animateNumber(el, num, text.includes('K') ? 'K+' : '+');\n } else if (text.includes('%')) {\n const num = parseInt(text);\n animateNumber(el, num, '%');\n }\n });\n statsObserver.unobserve(entry.target);\n }\n });\n }, observerOptions);\n\n const statsRow = document.querySelector('.stats-row');\n if (statsRow) statsObserver.observe(statsRow);\n\n function animateNumber(el, target, suffix) {\n let current = 0;\n const increment = Math.ceil(target / 40);\n const timer = setInterval(() => {\n current += increment;\n if (current >= target) {\n current = target;\n clearInterval(timer);\n }\n el.textContent = current + suffix;\n }, 30);\n }\n </script>\n</body>\n</html>"
},
"next": [
"优化移动端间距",
"增加深色模式切换",
"添加产品轮播展示",
"补充页脚信息区域",
"增加视频演示模态框"
],
"breakpoint": "none"
}
```

total_tokens
18684
summary
基于设计稿令牌系统,生成了一个科技公司新品发布着陆页。采用现代极简美学风格,融合渐变文字主标题、毛玻璃产品卡片、无人机产品图展示、新品标签徽章等核心元素。配色以蓝色渐变为主,搭配深色文字和柔和背景,字体选用Outfit+DMSans组合提升科技感。实现了响应式布局、平滑入场动画、悬停交互效果,整体视觉干净利落且富有冲击力。
uiParsing
关闭