Launch Keynote
发布会主题
stylekitMITProfessional · professionalLight · lightMedium · mediumNeutral · neutralMuted · mutedSerif · serifGeneral · generalLanding · landing
苹果发布会式的产品揭幕美学:纯黑舞台、发光产品、超大紧字距标题、唯一电蓝强调。招牌技法是滚动逐帧序列——一个 sticky 画布随滚动播放预渲染的产品动画,一屏一产品一句话,像万亿市值的产品页。
NNorthwind
Product · PricingSpecimen
Make the work feel finished
One interface, dressed in this style. Compare type, color, radius, and density.
128
Active
4.8
Score
12ms
Edge
Attribution
"Launch Keynote" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86.
https://github.com/AnxForever/stylekit · api/styles/launch-keynote · bfa7da909e86 · © AnxForever
Do
- 纯黑 #000000 舞台,无边框无纹理,产品自己发光,留白即张力
- 一屏一产品一句话:每个视口只承载一个主张,滚动是叙事节拍
- 逐帧揭幕:sticky 满屏 canvas 随滚动播放 webp 帧序列,滚动条即播放头
- 帧序列进视口才懒加载(IntersectionObserver),poster 先画防白屏
- 巨字紧字距 hero:系统 SF 级无衬线,clamp ~7rem,tracking -0.03em
- 唯一电蓝 #2997FF 强调:链接/CTA/关键数字;其余黑、近白 #F5F5F7、中灰 #86868B
- 规格用大数字网格呈现,冷静克制可信;显式 aspect-ratio 防 CLS
- prefers-reduced-motion 下静态渲染最终帧、callout 全可见
Don't
- 禁止多彩渐变或第二支强调色(唯一电蓝之外全是黑白灰)
- 禁止在滚动处理器里逐帧读 offsetTop / getBoundingClientRect(layout thrash)
- 禁止页面一载就预载全部 96 帧(必须 IO 懒加载,否则流量灾难)
- 禁止把关键信息烘焙进帧图里(帧可能没加载、reduced-motion 只显一帧)
- 禁止卡片边框、圆角装饰堆砌破坏纯黑舞台的无限深
- 禁止忽略 prefers-reduced-motion 与 devicePixelRatio 封顶
Prompt
Create an Apple-keynote style flagship hardware launch page with: 1. A pitch-black #000000 stage, near-white #F5F5F7 text, one electric-blue #2997FF accent for links, CTAs and key spec numbers - no second color 2. A frosted keynote nav bar (black/70 backdrop-blur) with an Overview/Specs/Buy set, Buy in blue 3. A huge tight-tracking hero headline (system SF stack, clamp up to ~7rem, -0.03em) 4. THE SIGNATURE: a section ~350vh tall with a sticky top-0 h-screen canvas that plays a 96-frame webp sequence as the scrollbar becomes the playhead; lazy-load the frames only in view via IntersectionObserver, paint a poster first, throttle the scroll with requestAnimationFrame reading position once per frame, and keep the last drawn frame if one has not loaded 5. 3-4 feature callouts that fade + translate in at progress milestones (opacity/transform only) 6. A spec grid of large numbers, dark #1D1D1F cards for chip/camera/battery 7. prefers-reduced-motion: skip the scroll wiring and statically render the final frame with all callouts visible; devicePixelRatio capped at 2; explicit aspect-ratios to prevent CLS --- "Launch Keynote" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86. powered by Styledex — https://styledex.dev
Tokens
DTCG
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "Launch Keynote. \"Launch Keynote\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86.",
"$extensions": {
"dev.styledex": {
"id": "stylekit-launch-keynote",
"license": "MIT",
"attribution": "\"Launch Keynote\" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86.",
"banner": "powered by Styledex — https://styledex.dev"
}
},
"color": {
"background": {
"$type": "color",
"$value": "#000000"
},
"foreground": {
"$type": "color",
"$value": "#f5f5f7"
},
"card": {
"$type": "color",
"$value": "#000000"
},
"card-foreground": {
"$type": "color",
"$value": "#f5f5f7"
},
"primary": {
"$type": "color",
"$value": "#000000"
},
"primary-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"secondary": {
"$type": "color",
"$value": "#f5f5f7"
},
"secondary-foreground": {
"$type": "color",
"$value": "#f5f5f7"
},
"accent": {
"$type": "color",
"$value": "#2997ff"
},
"accent-foreground": {
"$type": "color",
"$value": "#fafaf9"
},
"muted": {
"$type": "color",
"$value": "#0f0f0f"
},
"muted-foreground": {
"$type": "color",
"$value": "#9f9fa1"
},
"border": {
"$type": "color",
"$value": "#242424"
},
"destructive": {
"$type": "color",
"$value": "#dc2626"
},
"ring": {
"$type": "color",
"$value": "#000000"
}
},
"font": {
"sans": {
"$type": "fontFamily",
"$value": [
"ui-sans-serif",
"system-ui",
"sans-serif"
]
},
"serif": {
"$type": "fontFamily",
"$value": [
"ui-serif",
"Georgia",
"serif"
]
},
"mono": {
"$type": "fontFamily",
"$value": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
}
},
"radius": {
"base": {
"$type": "dimension",
"$value": "0.5rem"
}
},
"spacing": {
"base": {
"$type": "dimension",
"$value": "1rem"
}
},
"shadow": {
"base": {
"$type": "shadow",
"$value": "0 12px 40px rgba(0,0,0,0.7)"
}
}
}
CSS
/* powered by Styledex — https://styledex.dev */
/* "Launch Keynote" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86. */
:root {
--background: #000000;
--foreground: #f5f5f7;
--card: #000000;
--card-foreground: #f5f5f7;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #f5f5f7;
--secondary-foreground: #f5f5f7;
--accent: #2997ff;
--accent-foreground: #fafaf9;
--muted: #0f0f0f;
--muted-foreground: #9f9fa1;
--border: #242424;
--destructive: #dc2626;
--ring: #000000;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 12px 40px rgba(0,0,0,0.7);
}
Tailwind
/* powered by Styledex — https://styledex.dev */
/* "Launch Keynote" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86. */
/** Tailwind theme extend for Launch Keynote (stylekit-launch-keynote) */
module.exports = {
"theme": {
"extend": {
"colors": {
"background": "#000000",
"foreground": "#f5f5f7",
"card": "#000000",
"primary": "#000000",
"primary-foreground": "#fafaf9",
"secondary": "#f5f5f7",
"accent": "#2997ff",
"muted": "#0f0f0f",
"border": "#242424",
"destructive": "#dc2626",
"ring": "#000000"
},
"borderRadius": {
"lg": "0.5rem"
},
"fontFamily": {
"sans": [
"ui-sans-serif",
"system-ui",
"sans-serif"
],
"serif": [
"ui-serif",
"Georgia",
"serif"
],
"mono": [
"ui-monospace",
"SFMono-Regular",
"Menlo",
"monospace"
]
},
"boxShadow": {
"styledex": "0 12px 40px rgba(0,0,0,0.7)"
}
}
}
};
shadcn
/* powered by Styledex — https://styledex.dev */
/* "Launch Keynote" from https://github.com/AnxForever/stylekit (MIT). © AnxForever. api/styles/launch-keynote @ bfa7da909e86. */
@layer base {
:root {
--background: #000000;
--foreground: #f5f5f7;
--card: #000000;
--card-foreground: #f5f5f7;
--primary: #000000;
--primary-foreground: #fafaf9;
--secondary: #f5f5f7;
--secondary-foreground: #f5f5f7;
--accent: #2997ff;
--accent-foreground: #fafaf9;
--muted: #0f0f0f;
--muted-foreground: #9f9fa1;
--border: #242424;
--destructive: #dc2626;
--ring: #000000;
--radius: 0.5rem;
--font-sans: ui-sans-serif, system-ui, sans-serif;
--font-serif: ui-serif, Georgia, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
--spacing: 1rem;
--shadow: 0 12px 40px rgba(0,0,0,0.7);
}
}