Awwwards Design技能使用说明
Awwwards级别的网页设计
这项技能引导着真正卓越网站的创作——那种能够获奖、被广泛传播、让人驻足浏览的作品。这些不仅仅是优秀的网站;它们是体验。
核心理念:是什么让网站令人难忘
获奖网站拥有共同的特性,使其与无数平庸的网页区分开来:

1. 有意识的叙事性
每一次滚动、每一次点击、每一次悬停都在讲述故事的一部分。网站引领用户体验一个叙事,而不仅仅是堆砌板块。内容逐步呈现,营造期待感与满足感。
2. 精心编排的动态效果
动画不是装饰——它们是沟通。每一个动作都有其目的:引导注意力、提供反馈、创造连续性或建立情感共鸣。其时机、缓动效果和序列都经过精心编排。
3. 丰富的感官体验
这些网站调动了多种感官。自定义光标带来触觉反馈。声音设计(在恰当的时候)增加了深度。纹理、渐变和光照效果营造出氛围。尽管是数字化的,但体验却让人感觉具有实体感。
4. 精湛的技术工艺
流畅的60帧每秒动画。尽管视觉效果丰富,加载时间却很快。在较慢的设备上也能优雅降级。工程实现虽无形,却至关重要。
5. 有意识地打破常规
获奖网站深谙规则,因此能有意识地打破它们。非常规的布局、出人意料的交互、打破规则的排版——但这一切始终服务于用户体验,绝非随意而为。
Awwwards评审标准
网站从四个维度进行评判:
- 设计(每日最佳网站需8.5分以上):视觉美学、构图、色彩、排版、图像
- 可用性(每日最佳网站需8.5分以上):导航、可访问性、响应性、直观的用户体验
- 创意(每日最佳网站需8.5分以上):创新性、独特性、令人难忘的瞬间
- 内容(每日最佳网站需8.5分以上):质量、叙事性、相关性、参与度
要赢得“每日最佳网站”,你需要在所有四个维度上都表现出色。一个美观但可用性差的网站无法获胜。
核心动画技术
1. 滚动触发动画
沉浸式网页体验的基础。元素随滚动位置动态变化,营造出探索感。
核心模式:
- 入场揭示: 元素进入视口时以淡入/滑动/缩放方式呈现
- 逐帧滚动动画: 动画进度与滚动位置直接绑定(不仅是触发)
- 视差图层: 前景与背景元素以不同速度移动,营造景深效果
- 横向滚动区块: 垂直滚动转换为水平移动效果
- 固定锚定区块: 元素保持固定位置,内容在其间滚动穿行
技术实现栈:
Primary: GSAP + ScrollTrigger (industry standard)
Smooth Scrolling: Lenis or GSAP ScrollSmoother
React: Framer Motion + useScroll hook
代码模式(GSAP):
gsap.registerPlugin(ScrollTrigger);
// Basic reveal
gsap.from(".reveal-element", {
opacity: 0,
y: 100,
duration: 1,
ease: "power3.out",
scrollTrigger: {
trigger: ".reveal-element",
start: "top 80%",
end: "top 20%",
toggleActions: "play none none reverse"
}
});
// Scrubbed animation (tied to scroll position)
gsap.to(".parallax-bg", {
y: -200,
ease: "none",
scrollTrigger: {
trigger: ".parallax-section",
start: "top bottom",
end: "bottom top",
scrub: true
}
});
2. 文本分割与字体动画
获奖网站将文字视为设计元素而非单纯内容。单个字符、词语和文本行皆可成为动画单元。
核心模式:
- 逐字符揭示效果文字逐字顺序显现
- 词语错落呈现:词语以不同延迟效果层叠进入
- 逐行渐次展现:每行文字独立滑动或淡入
- 乱码/解码特效:文字呈现解码或重组过程
- 动态字体排印:随滚动/交互产生移动、旋转或形变的文字
实现方式:
GSAP SplitText (premium but powerful)
SplitType (free alternative)
Splitting.js (lightweight)
代码模式:
// Using SplitType + GSAP
const text = new SplitType('.hero-title', { types: 'chars, words' });
gsap.from(text.chars, {
opacity: 0,
y: 50,
rotateX: -90,
stagger: 0.02,
duration: 0.8,
ease: "back.out(1.7)"
});
增强视觉冲击的字体选择:
- 特色展示字体:Neue Machina、Monument Extended、PP Mori、Clash Display、Satoshi
- 适用于动画的可变字体:字重、字宽、倾斜度均可平滑过渡
- 极致尺寸:15-25vw的主标题文字创造瞬时冲击力
- 单行标题内混合字重与尺寸
3. 微交互与悬停状态
创造愉悦感的细节设计。每个交互元素都应以令人满意的方式响应用户操作。
核心模式:
- 磁吸按钮:向光标方向吸附的元素
- 悬停显示:交互时显现的隐藏内容或效果
- 形变动效:悬停时形态发生变化的元素
- 涟漪效果:从触点扩散的点击反馈效果
- 状态机动画:复杂多状态动画(待机→悬停→激活→完成)
实现方案:
Rive (for complex state-based animations)
Lottie (After Effects → web)
GSAP (programmatic control)
CSS transitions (simple states)
代码模式(磁吸效果):
const magneticElements = document.querySelectorAll('.magnetic');
magneticElements.forEach(el => {
el.addEventListener('mousemove', (e) => {
const rect = el.getBoundingClientRect();
const x = e.clientX - rect.left - rect.width / 2;
const y = e.clientY - rect.top - rect.height / 2;
gsap.to(el, {
x: x * 0.3,
y: y * 0.3,
duration: 0.3,
ease: "power2.out"
});
});
el.addEventListener('mouseleave', () => {
gsap.to(el, {
x: 0,
y: 0,
duration: 0.5,
ease: "elastic.out(1, 0.3)"
});
});
});
4. 页面转场
页面间无缝转场可营造原生应用质感,保持体验沉浸感
核心模式:
- 动态渐隐转场:旧页面淡出同时新页面滑入
- 共享元素转场:图片或元素在页面间形态渐变
- 擦除/揭示转场:内容以横扫屏幕的形式呈现
- 缩放过渡:点击目标扩展至铺满屏幕
- 遮罩层过渡:彩色图层扫过画面后展现新内容
实现方式:
Barba.js + GSAP (multi-page sites)
Next.js + Framer Motion (React apps)
Astro + View Transitions API (modern approach)
5. 自定义光标
用强化品牌形象并增强交互性的设计替代默认光标
关键模式:
- 跟随式光标:带有轻微延迟的跟随图形(线性插值)
- 情境感知光标:根据悬停对象改变形态
- 磁性光标:自动吸附到交互元素
- 液态光标:可变形有机图形
- 文字光标:跟随指针移动的文字
- 拖尾效果:多个元素按序跟随
代码模式:
const cursor = document.querySelector('.cursor');
let mouseX = 0, mouseY = 0;
let cursorX = 0, cursorY = 0;
document.addEventListener('mousemove', (e) => {
mouseX = e.clientX;
mouseY = e.clientY;
});
// Smooth following with lerp
function animate() {
cursorX += (mouseX - cursorX) * 0.1;
cursorY += (mouseY - cursorY) * 0.1;
cursor.style.transform = `translate(${cursorX}px, ${cursorY}px)`;
requestAnimationFrame(animate);
}
animate();
// Context changes
document.querySelectorAll('a, button').forEach(el => {
el.addEventListener('mouseenter', () => cursor.classList.add('cursor--hover'));
el.addEventListener('mouseleave', () => cursor.classList.remove('cursor--hover'));
});
6. 缓动函数与时间控制
秘诀所在。恰当的缓动能将机械运动转化为有机律动。
核心缓动函数:
power2.out / power3.out — Natural deceleration (most common)
power2.inOut — Smooth acceleration and deceleration
back.out(1.7) — Slight overshoot, then settle (playful)
elastic.out(1, 0.3) — Bouncy, energetic
expo.out — Dramatic fast-start, slow-end
circ.out — Quick initial movement
时间原则:
- 错开延迟:连续元素间间隔0.02-0.05秒
- 悬停过渡:0.2-0.4秒(足够快以保持响应感)
- 页面过渡:0.6-1.2秒(足够时长以欣赏,又不至于太慢)
- 滚动动画:时长与滚动距离挂钩,或触发式动画为0.8-1.5秒
黄金法则:快入慢出。大多数动作应减速进入最终位置。
视觉技巧
渐变与色彩
网格渐变:复杂多点渐变,营造有机感
background:
radial-gradient(at 40% 20%, hsla(28,100%,74%,1) 0px, transparent 50%),
radial-gradient(at 80% 0%, hsla(189,100%,56%,1) 0px, transparent 50%),
radial-gradient(at 0% 50%, hsla(355,85%,93%,1) 0px, transparent 50%);
动态渐变:流动的色彩创造动态感
@keyframes gradient-shift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.animated-gradient {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
background-size: 400% 400%;
animation: gradient-shift 15s ease infinite;
}
纹理与景深
颗粒/噪点叠加添加有机纹理
.grain::after {
content: '';
position: fixed;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
opacity: 0.03;
pointer-events: none;
z-index: 9999;
}
玻璃态风格:磨砂玻璃效果
.glass {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
}
用于深度的阴影:分层、柔和的阴影
.elevated {
box-shadow:
0 1px 1px rgba(0,0,0,0.02),
0 2px 2px rgba(0,0,0,0.02),
0 4px 4px rgba(0,0,0,0.02),
0 8px 8px rgba(0,0,0,0.02),
0 16px 16px rgba(0,0,0,0.02);
}
打破布局
重叠元素:有意打破网格对角线/倾斜区块:使用剪切路径创建非矩形区块不对称构图:刻意的不平衡营造张力满版媒体:突破容器的图像/视频混合网格系统:结合不同的列结构
3D 与 WebGL
要打造真正顶尖的网站,3D元素能创造出令人难忘的体验。
技术栈实现:
Three.js — Full 3D engine
React Three Fiber — Three.js in React
Spline — No-code 3D design tool
Lottie 3D — Lightweight 3D animations
常见模式:
- 带轨道控制功能的3D产品查看器
- 响应滚动/鼠标的粒子系统
- 着色器效果(扭曲、涟漪、噪点)
- 3D文本与字体排版
- 带摄像机移动的环境场景
性能说明:3D渲染开销大。请谨慎使用,积极优化,并始终提供降级方案。
技术要求
性能目标
- 首次内容绘制:< 1.5秒
- 最大内容绘制:< 2.5秒
- 总阻塞时间:< 200毫秒
- 动画帧率:稳定60帧/秒
优化策略
- 延迟加载首屏外内容
- 预加载关键资源
- 谨慎且正确地使用
will-change属性 - 防抖滚动处理程序
- 采用
requestAnimationFrame用于JavaScript动画 - 优先使用CSS变换而非触发布局的属性
- 压缩并优化所有媒体文件
可访问性
获奖网站必须对所有人可用:
- 尊重
prefers-reduced-motion(偏好减少动画)设置 - 保持键盘导航功能
- 确保足够的色彩对比度
- 为视觉内容提供文本替代方案
- 使用屏幕阅读器进行测试
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
实施清单
在认为一个网站"值得获奖"之前,请核实:
动画
- 滚动触发、具有交错时序的显示效果
- 平滑滚动(使用Lenis或等效工具)
- 所有动画都应用自定义缓动效果
- 页面/区块过渡效果
- 所有交互元素都有悬停状态
- 加载动画/序列
视觉
- 独特的字体设计(避免使用Inter/Roboto等常见字体)
- 定制光标(如果适用)
- 纹理/颗粒叠加效果
- 精心考虑且富有意图的配色方案
- 氛围感背景(渐变、特效)
- 贯穿始终的视觉语言一致性
技术
- 60帧每秒的动画性能
- 移动端响应式设计并适配交互
- 支持减少动态效果
- 快速初始加载
- 加载过程中无布局偏移
内容
- 清晰的叙事/故事结构
- 富有目的性的内容层级
- 引人入胜的文案撰写
- 高质量的图像/媒体素材
参考网站
研究以下网站以获取灵感(可在Awwwards上搜索):
- 沉浸式叙事例如:苹果产品页面,Stripe
- 创意机构:Resn、Active Theory、Locomotive
- 作品集:Bruno Simon、Aristide Benoist、Dennis Snellenberg
- 产品:Linear、Vercel、Raycast
- 编辑类:The Pudding、NYT Interactives
何时不宜采用此方法
获奖设计并非总是适用:
- 以转化为目标的电子商务网站:简洁往往更胜一筹
- 信息密集型网站:清晰度优先于创意
- 以无障碍访问为先的场景:繁复动画可能造成使用障碍
- 预算/时间有限的情况:这类设计需要大量时间才能完美呈现
当目标是打造令人难忘的品牌体验、展示创意作品或传递独特理念时,可采用这些技术。对于注重实用性的网站,标准的交互设计技能可能更为合适。
请记住:获奖网站不仅技术精湛——更能引起情感共鸣。每一处动画、每一次交互、每一个视觉选择,都应为讲述的故事服务。仅有技术而无创见,只能产出令人赞叹却转瞬即忘的作品。我们的目标是触动人心。


微信扫一扫,打赏作者吧~