Build a single full-screen (`h-screen w-full overflow-hidden`) hero page for **nexum** — a dark cinematic AI-ops landing hero with a full-bleed background video, glassmorphism nav/cards, and bottom-anchored content. Stack: React + Tailwind + `lucide-react` (`ChevronDown`, `Menu`, `X`). No routing. One section only. ### Fonts (exact) Load from Google Fonts: ``` https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Silkscreen:wght@400;700&display=swap ``` - Global body: `'Geist', -apple-system, BlinkMacSystemFont, sans-serif` with antialiased smoothing - Stats number `"42,500+"` only: `fontFamily: "'Silkscreen', cursive"`, weight normal, tracking-tight - Everything else is Geist ### Background video (exact URL + behavior) ``` https://d8j0ntlcm91z4.cloudfront.net/user_38xzZboKViGWJOttwIXH07lWA1P/hf_20260803_192301_9231ed6b-c55c-4a48-909c-4ebe11cf2e11.mp4 ``` - Abso…
查看原始来源 ↗Prompt
Build a single full-screen (`h-screen w-full overflow-hidden`) hero page for **nexum** — a dark cinematic AI-ops landing hero with a full-bleed background video, glassmorphism nav/cards, and bottom-anchored content. Stack: React + Tailwind + `lucide-react` (`ChevronDown`, `Menu`, `X`). No routing. One section only.
### Fonts (exact)
Load from Google Fonts:
```
https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Silkscreen:wght@400;700&display=swap
```
- Global body: `'Geist', -apple-system, BlinkMacSystemFont, sans-serif` with antialiased smoothing
- Stats number `"42,500+"` only: `fontFamily: "'Silkscreen', cursive"`, weight normal, tracking-tight
- Everything else is Geist
### Background video (exact URL + behavior)
```
https://d8j0ntlcm91z4.cloudfront.net/user_38xzZboKViGWJOttwIXH07lWA1P/hf_20260803_192301_9231ed6b-c55c-4a48-909c-4ebe11cf2e11.mp4
```
- Absolutely positioned `inset-0`, `h-full w-full object-cover`
- Attributes: `autoPlay`, `loop`, `muted`, `playsInline`
- No overlay gradient; content sits directly over the video at `z-10`
### Page title
`Nexum Hero`
### Layout architecture
```
<section> full viewport
<video> absolute full-bleed
<div z-10 flex-col h-full>
<nav> top bar
[mobile overlay + slide-in panel]
<main content> mt-auto bottom-anchored
left: headline + email CTA
right: two glass cards
```
Content is pinned to the bottom with `mt-auto`. On large screens: `lg:flex-row lg:items-end lg:justify-between`. On mobile/tablet: stacked column.
### Color / responsive text system (critical)
Many elements flip from near-black on small screens to white on `lg+` (because the video reads lighter/darker differently):
- Logo icon + “nexum” wordmark: `text/fill-[#010101]` → `lg:text/fill-white`
- H1: `text-[#010101]` → `lg:text-white`
- Stats number: `text-[#010101]` → `lg:text-white`
- Stats body: `text-[#010101]/70` → `lg:text-white/70`
- Testimonial text: `text-[#010101]/80` → `lg:text-white/80`
- Stratify name / Sara name: `#010101` → `lg:text-white`
- Role “Dir of Operations”: `#010101]/60` → `lg:text-white/60`
- Desktop nav links are always white/80 (desktop only shows at `md+`)
Primary CTA gradient (used on every “Get started” button):
```css
background: linear-gradient(to bottom, #2B2B2B, #101010)
```
Hover: `opacity-90`
### Logo (exact SVG)
24×24, viewBox `0 0 256 256`, path:
```
M 128 128 C 128 198.692 70.692 256 0 256 C 0 185.308 57.308 128 128 128 Z M 128 128 C 198.692 128 256 185.308 256 256 C 185.308 256 128 198.692 128 128 Z M 0 0 C 70.692 0 128 57.308 128 128 C 57.308 128 0 70.692 0 0 Z M 256 0 C 256 70.692 198.692 128 128 128 C 128 57.308 185.308 0 256 0 Z
```
Beside it: lowercase **nexum**, `text-lg font-semibold`, gap-2.
### Desktop navigation (`hidden md:flex`)
Padding: `px-5 py-5` → `sm:px-8 sm:py-6` → `lg:px-12`
**Glass pill nav cluster:**
- `rounded-full bg-white/10 px-1.5 py-1.5 backdrop-blur-lg`
- Links inside: Modules, Clientele, Solutions (with `ChevronDown` 3.5×3.5), Billing
- Each link: `rounded-full px-4 py-1.5 text-sm font-medium text-white/80`
- Hover: `bg-white/10 text-white`, `transition-colors`
- Gap between links: `gap-1`
**Separate “Get started” pill** to the right of the glass cluster (`gap-3`):
- `rounded-full px-5 text-sm font-medium text-white`
- `self-stretch` so height matches the glass pill
- Same dark vertical gradient as above
### Mobile hamburger (`md:hidden`)
- Circular button `h-10 w-10 rounded-full bg-white/10 backdrop-blur-lg`, `z-50`
- Icons swap with animation:
- Menu icon: when open → `rotate-90 scale-0 opacity-0`; when closed → visible. `transition-all duration-300`
- X icon: when open → visible; when closed → `-rotate-90 scale-0 opacity-0`
- Icon color: `#010101` → `lg:text-white`
- Opening menu locks `document.body.style.overflow = 'hidden'`
### Mobile menu glass overlay + drawer
1. **Backdrop:** `fixed inset-0 z-40 bg-black/80 backdrop-blur-md`, opacity 0→100 over 300ms; when closed also `pointer-events-none`
2. **Panel:** `fixed right-0 top-0 z-40 h-full w-72 bg-black/90 backdrop-blur-xl`
- Closed: `translate-x-full`; open: `translate-x-0`
- Transition: `duration-500 ease-[cubic-bezier(0.16,1,0.3,1)]`
3. **Links** (Modules, Clientele, Solutions, Billing) in `px-6 pt-24`, `gap-2`
- Each: `rounded-xl px-4 py-3.5 text-base font-medium text-white/80`
- Hover: `bg-white/10 text-white`
- Staggered entrance when open: opacity 0→1, `translateX(24px)`→0, delay `(index+1)*60ms`
- Solutions gets a ChevronDown on the right
4. **Bottom CTA** (`mt-auto px-6 pb-10`): full-width gradient “Get started” pill; fades/slides up with delay 300ms when open (`opacity` + `translateY(16px)`→0, 400ms)
### Hero headline (exact copy)
> Ship AI workers that grind while you rest
Typography:
- `text-3xl` → `sm:text-4xl` → `lg:text-[3.5rem]`
- `font-semibold leading-[1.1] tracking-tight`
- Container: `max-w-xl`
### Email CTA (exact)
Below headline with `mt-6 sm:mt-8`:
- Wrapper: on `sm+` becomes `inline-flex flex-row items-center rounded-full bg-white p-1.5`; on mobile stacks as column `gap-3`
- Email input:
- placeholder: **Type your email**
- Mobile: white pill `rounded-full bg-white px-5 py-3 text-sm text-gray-900 placeholder-gray-400`
- `sm+`: `sm:w-64 sm:rounded-none sm:bg-transparent sm:px-4 sm:py-2` (sits inside the white capsule)
- `outline-none`
- Button “Get started”: gradient pill, `rounded-full px-6 py-3 sm:py-2.5 text-sm font-medium text-white`
### Glass cards (right side)
Container: `flex flex-col gap-4 sm:flex-row lg:w-auto lg:gap-5`, full width on small, auto on large.
**Shared glass style:**
`rounded-2xl bg-white/10 backdrop-blur-lg p-5 sm:p-6`
#### Stats card (`sm:w-64`, flex-col justify-between)
- Big number: **42,500+** in Silkscreen, `text-3xl sm:text-4xl font-normal tracking-tight`
- Body: **Teams run Nexum to handle recurring ops daily.** — `text-sm leading-relaxed`, `mt-3 sm:mt-4`, opacity 70%
#### Testimonial card (`sm:w-64`)
- Header row: 6×6 black rounded square with bold white **S** + **Stratify** (`text-sm font-semibold`), gap-2, `mb-3 sm:mb-4`
- Quote (exact):
> "With Nexum we went from managing tedious operational work to having AI agents that handle everything."
— `text-sm leading-relaxed`, opacity 80%
- Footer: avatar + name
- Avatar: `https://i.pravatar.cc/72?img=12`, 9×9 rounded-full, `object-cover`, fallback bg `bg-white/20`, alt “Sara Klein”
- **Sara Klein** — `text-sm font-semibold`
- **Dir of Operations** — `text-xs`, opacity 60%
- `mt-4 sm:mt-5`, gap-3
### Bottom padding of main content block
`px-5 pb-8` → `sm:px-8 sm:pb-12` → `lg:px-12 lg:pb-16`
Inner vertical gap: `gap-6 sm:gap-8`
### Glass / blur tokens to preserve
| Element | Fill | Blur |
|--------|------|------|
| Desktop nav pill | `bg-white/10` | `backdrop-blur-lg` |
| Mobile hamburger | `bg-white/10` | `backdrop-blur-lg` |
| Mobile overlay | `bg-black/80` | `backdrop-blur-md` |
| Mobile drawer | `bg-black/90` | `backdrop-blur-xl` |
| Both cards | `bg-white/10` | `backdrop-blur-lg` |
### Animations / interactions checklist
1. Nav link hover color/bg transitions
2. CTA opacity hover
3. Menu ↔ X morph (rotate + scale + opacity, 300ms)
4. Overlay fade 300ms
5. Drawer slide with cubic-bezier(0.16, 1, 0.3, 1) over 500ms
6. Staggered mobile link slide-in (60ms steps)
7. Mobile bottom CTA delayed fade/slide (300ms delay)
8. Body scroll lock while menu open
9. Video continuous muted loop
### What NOT to add
No dark purple gradients, no extra sections, no stats strips in the nav, no cards in the hero beyond the two glass cards, no overlay labels on the video, no second scroll section. First viewport = brand + one headline + one CTA + two glass cards over the full-bleed CloudFront video.
Recreate pixel-faithfully: same copy, same URLs, same SVG path, same breakpoints, same glass opacities/blurs, same gradient, same Silkscreen on the stat number, same Geist everywhere else.复用方法
关键决定
观察最终结果里,页面信息层级、模块顺序和 CTA 是否一口气讲清楚 是否同时成立。
换到你的题材
把“目标结果 → 产品名称、目标用户、页面模块和主按钮 → 约束条件”抽成模板,后续可复用到同类任务。
容易翻车
围绕 模块顺序、价值主张写法与 CTA 位置 做单变量对照,并记录模型、成本和失败结果;重复成立后再沉淀为 Skill。
建议模型
Derived Skill
Skill 只从多个已发布 Case 的重复模式中派生,不是另一套投稿内容。
创作者
MotionSites 长期扎根MotionSites,交付可运行的界面,《Modern Agency》配了完整实现思路。
继续探索
@Oluwaphilemon1 使用 Claude Fable 5 · Three.js · Blender · GSAP完成的网页案例,包含公开结果、完整 Prompt 与原始来源。
提示语
Claude Fable 5 和 GPT-5.6 很强🥵🥵🥵 下面是我如何使用 Claude 构建的 👇 提示词:「设计一个机构网站,把服务以 3D 超市商品包装的形式呈现」 使用 Three.js 和 WebGL 在浏览器中实时渲染所有产品 使用 Blender 制作包装模型,然后导出为 GLTF 以加载到 Three.js 中 使用 GSAP 实现流畅的产品旋转和悬停交互 如果你想做一个让客户感觉像是在购买高级商品的作品集,请保存这条 🛒
// components/ui/3d-pin.tsx "use client"; import React, { useState } from "react"; import { motion } from "motion/react"; import { cn } from "@/lib/utils"; export const PinContainer = ({ children, title, href, className, containerClassName, }: { children: React.ReactNode; title?: string; href?: string; className?: string; containerClassName?: string; }) => { const [transform, setTransform] = useState( "translate(-50%,-50%) rotateX(0deg)" ); const onMouseEnter = () => { setTransform("translate(-50%,-50%) rotateX(40deg) scale(0.8)"); }; const onMouseLeave = () => { setTransform("translate(-50%,-50%) rotateX(0deg) scale(1)"); }; return ( <a className={cn( "relative group/pin z-50 cursor-pointer", containerClassName )} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} href={href || "/"} > <div style={{ perspective: "1000px", transform: "rotateX(70deg) translateZ(0deg)", }} className="…
提示语
// components/ui/3d-pin.tsx "use client"; import React, { useState } from "react"; import { motion } from "motion/react"; import { cn } from "@/lib/utils"; export const PinContainer = ({ children, title, href, className, containerClassName…
.webp)
Build a single full-viewport hero section in React + TypeScript + Vite + Tailwind CSS, using `lucide-react` for icons. The component is a character-figurine carousel called "TOONHUB". **Fonts (load in `index.html` head):** ```html <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link href="https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" /> ``` Body font: `'Inter', sans-serif`. Display font (huge ghost text + bottom-right link): `'Anton', sans-serif`. **Image data (4 items, exact URLs and colors):** ```ts const IMAGES = [ { src: 'https://fifth-gentle-45902158.figma.site/_components/v2/4de492f6d9cf8244ad5293233e5c6f52407d42fc/1.02464a56.png', bg: '#F4845F', panel: '#F79B7F' }, { src: 'https://fifth-gentle-45902158.figma.site/_components/v2/4d…
提示语
Build a single full-viewport hero section in React + TypeScript + Vite + Tailwind CSS, using `lucide-react` for icons. The component is a character-figurine carousel called "TOONHUB". **Fonts (load in `index.html` head):** ```html <link re…