Material Design 质感设计(Material Design)

Scope: Covers Google's design language across its generations — 2014's paper-and-ink system, 2018 Material Theming, and 2021's Material You. The generic 'flat with one soft shadow' SaaS look it inspired is not this entry: without the elevation scale, the FAB, and ripple physics, that is just Flat Design 2.0.

范围:涵盖 Google 这套设计语言的各代 —— 2014 年的纸墨体系、2018 年的 Material Theming、2021 年的 Material You。被它带火的那种「扁平加一层柔影」通用 SaaS 观感不在本条:没有 elevation 标尺、FAB 和涟漪物理,那只是 Flat Design 2.0。

Midnight Drive
Neon Coast
1:123:48

标本可交互 —— 点点看。Specimen is live — try it.

If you called it…如果你管它叫……

“google apps look with the floating round button”「谷歌应用那种悬浮圆按钮的样子」“white cards with soft shadows on a gray background”「灰底上带柔和阴影的白色卡片」“the android material you style”「安卓 Material You 那种风格」“the ripple effect that spreads when you tap stuff on android”「安卓上点一下就荡开的涟漪效果」“paper cards stacked with drop shadows and a pink button”「纸卡片叠在一起配个粉色按钮」“the gmail and google docs app look”「Gmail 和 Google 文档应用的那种观感」

Full style DNA完整风格 DNA

  1. Stepped z-axis elevation分级的 z 轴 elevation depth defining定义特征

    Every surface rests at a measured height — 2dp cards, 4dp app bars, 6dp FABs, 8dp raised menus, 16dp drawers — and the soft shadow beneath it encodes exactly that height; press, and the shadow grows as the surface lifts toward you.

    每个表面停在一个可测量的高度上 —— 2dp 卡片、4dp 应用栏、6dp FAB、8dp 弹出菜单、16dp 抽屉 —— 底下的柔和阴影精确编码了这个高度;按下时表面抬起,阴影随之变大。

  2. Layered digital paper叠放的数字纸张 surface defining定义特征

    The UI is sheets of paper sliding over each other: white cards with crisp 2–4px corners floating on a light gray ground, their edges cut by shadow rather than by borders.

    界面就是互相滑过的纸张:白色卡片带着利落的 2–4px 圆角浮在浅灰底上,边缘靠阴影「裁」出来,而不是靠描边。

  3. Floating action button悬浮操作按钮(FAB) geometry defining定义特征

    One circular button (56dp diameter, 6dp elevation) in the accent color hovers above the content — the screen's single promoted action, often straddling the seam between header and content.

    一枚圆形按钮(直径 56dp、6dp elevation)用强调色悬浮在内容之上 —— 它是全屏唯一被主推的操作,常常骑在头部与内容的接缝上。

  4. Ink ripple touch feedback墨涟漪触控反馈 motion defining定义特征

    Touch answers with a ripple of ink spreading from the exact contact point across the surface — feedback is rendered as a physical event, not a hover-color swap.

    点按的回应是一滴墨从接触点向整个表面荡开的涟漪 —— 反馈被渲染成一次物理事件,而不是换个 hover 颜色。

  5. Bold primary, hot accent大胆主色 + 高亮强调色 color defining定义特征

    A saturated primary (Indigo 500 #3F51B5 class) owns bars and large areas; a contrasting accent (Pink A200 #FF4081 class) is reserved for the FAB and key controls against white cards.

    饱和主色(Indigo 500 #3F51B5 这一档)占据应用栏和大面积区域;对比强烈的强调色(Pink A200 #FF4081 这一档)只留给 FAB 和关键控件,衬在白色卡片上。

  6. Motion explains hierarchy表达层级的动效 motion supporting辅助特征

    Transitions run 200–300ms on the standard curve cubic-bezier(0.4, 0, 0.2, 1); new surfaces grow out of the element that spawned them, so animation shows cause, not decoration.

    过渡跑 200–300ms 的标准曲线 cubic-bezier(0.4, 0, 0.2, 1);新表面从催生它的那个元素里长出来,动效表达的是因果,不是装饰。

  7. 8dp square grid8dp 方形网格 layout supporting辅助特征

    Components align to an 8dp baseline grid — spacing in 8/16/24px multiples, 16px screen margins — so unrelated screens share the same rhythm.

    组件对齐到 8dp 基线网格 —— 间距取 8/16/24px 的倍数,屏幕边距 16px —— 互不相干的页面也共享同一套节奏。

  8. Shadowless color blocks无阴影色块 depth avoid避免

    Pure 2D fills where hierarchy comes from color alone — zero elevation, zero ripple physics — is Flat Design; Material's entire point is the restored, measurable z-axis.

    纯 2D 填充、层级只靠颜色 —— 零 elevation、零涟漪物理 —— 那是扁平设计;质感设计的全部意义就在于那条被恢复、可测量的 z 轴。

Often confused with: Flat Design最容易混淆:扁平设计

Midnight Drive
Neon Coast
1:123:48

Material Design质感设计(Material Design)

Midnight Drive
Neon Coast
1:123:48

Flat Design扁平设计

This is Material Design because depth is restored as a physics system — every surface sits at a measured z-axis elevation casting a shadow that encodes its height, and motion expresses where elements come from.

这是质感设计,因为纵深被恢复成了一套物理系统 —— 每个表面在 z 轴上都有一个可测量的 elevation,投下编码其高度的阴影,动效则表达元素从哪里来。

It would become Flat Design if the z-axis were collapsed back to zero — shadows deleted, the FAB flattened into a solid color block, hierarchy left to color and type alone.

如果把 z 轴重新压回零 —— 删掉阴影、FAB 拍扁成色块、层级全交给颜色和字体 —— 就变成扁平设计了。

Compare: Material Design vs Flat Design →对比页 →

In code — optional starting points代码写法 —— 可选起点

The workhorse: 2dp resting card

border-radius: 2px; background: #fff; box-shadow: 0 2px 2px rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px rgba(0,0,0,.12);

FAB: 6dp resting, standard motion curve

border-radius: 50%; background: #FF4081; box-shadow: 0 6px 10px rgba(0,0,0,.14), 0 1px 18px rgba(0,0,0,.12), 0 3px 5px -1px rgba(0,0,0,.2); transition: box-shadow .28s cubic-bezier(.4, 0, .2, 1);

Same construction as utilities

bg-white rounded-sm shadow-[0_2px_2px_rgba(0,0,0,.14),0_3px_1px_-2px_rgba(0,0,0,.2),0_1px_5px_rgba(0,0,0,.12)] /* card */ + rounded-full bg-[#FF4081] w-14 h-14 shadow-[0_6px_10px_rgba(0,0,0,.14),0_1px_18px_rgba(0,0,0,.12),0_3px_5px_-1px_rgba(0,0,0,.2)] /* fab */

Style brief — paste into your agent风格 Brief —— 粘贴给你的代理

Build the surface in classic Material Design (2014 paper-and-ink generation). Canvas: light gray #FAFAFA ground, white #FFFFFF cards floating on a stepped dp elevation scale — 2dp card: box-shadow 0 2px 2px rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px rgba(0,0,0,.12); 8dp raised: 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12), 0 5px 5px -3px rgba(0,0,0,.2). Palette: primary Indigo 500 #3F51B5 for bars and large areas, accent Pink A200 #FF4081 for the FAB and key controls; text #212121 / #757575. Type: Roboto (fallback system sans), medium titles. Geometry: cards 2–4px radius; one circular FAB (56px, 6dp, lifts to 12dp pressed) in the accent. Interaction: ink ripples spread from the touch point; transitions 200–300ms cubic-bezier(0.4, 0, 0.2, 1), surfaces growing from their parent. Layout on an 8dp grid — 8/16/24px spacing. Do not drift into Flat Design: elevation shadows, the FAB, and ripples are mandatory — hierarchy by color alone with zero shadows is the neighbor style. Keep text on accent fills at 4.5:1 and honor prefers-reduced-motion.

用经典质感设计(2014 年纸墨一代)创建这个界面。画布:浅灰 #FAFAFA 底,白色 #FFFFFF 卡片按分级 dp elevation 标尺浮起 —— 2dp 卡片:box-shadow 0 2px 2px rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px rgba(0,0,0,.12);8dp 抬起:0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12), 0 5px 5px -3px rgba(0,0,0,.2)。配色:主色 Indigo 500 #3F51B5 给应用栏和大面积区域,强调色 Pink A200 #FF4081 给 FAB 和关键控件;文字 #212121 / #757575。字体:Roboto(回退系统无衬线),标题用 medium 字重。几何:卡片 2–4px 圆角;一枚圆形 FAB(56px、6dp、按下抬到 12dp),用强调色。交互:每个控件上的墨涟漪从触点荡开;过渡 200–300ms cubic-bezier(0.4, 0, 0.2, 1),表面从父元素里长出来。布局对齐 8dp 网格 —— 间距取 8/16/24px。不要滑向扁平设计:elevation 阴影、FAB 和涟漪都是必需品 —— 零阴影、只靠颜色分层级的是隔壁风格。强调色填充上的文字保持 4.5:1 对比度,并响应 prefers-reduced-motion。

Accessibility & misuse可访问性与误用

Elevation alone is a weak affordance: a white card on a #FAFAFA ground can fail the 3:1 boundary ratio for controls, and shadows vanish entirely in forced-colors mode — interactive elements must read as interactive by color, label, and shape, not by lift alone.

只靠 elevation 是微弱的可供性:#FAFAFA 底上的白色卡片可能过不了控件边界的 3:1 对比,而且在 forced-colors 模式下阴影会整个消失 —— 可交互元素必须靠颜色、文字和形状认出「能点」,不能只靠浮起。

White ink on hot accent colors is the classic trap: white on Pink A200 #FF4081 measures roughly 3.3:1 — acceptable for the FAB's icon, too weak for text; white on Indigo 500 #3F51B5 passes at about 6.9:1. Check every pair against 4.5:1, or step down to a 700 shade.

强调色上压白字是经典翻车点:白字配 Pink A200 #FF4081 实测约 3.3:1 —— 给 FAB 图标可以,给正文太弱;白字配 Indigo 500 #3F51B5 约 6.9:1 能过。每一对颜色都按 4.5:1 检查,不行就降一档用 700 色号。

Motion is load-bearing here — surfaces grow and travel to explain where things came from — so prefers-reduced-motion needs a real fallback: replace growing and traveling transitions with instant cuts or simple crossfades, and drop the ripple animation.

动效在这个风格里是承重墙 —— 表面靠生长和移动解释自己从哪来 —— 所以 prefers-reduced-motion 需要真正的降级方案:把生长、位移的过渡换成瞬切或简单淡入淡出,并关掉涟漪动画。

Origin起源

Unveiled by Google at its I/O conference in June 2014 — led by design VP Matías Duarte and developed under the internal codename Quantum Paper — and shipped that year with Android 5.0 Lollipop as the company's first unified cross-platform design language. Its paper-and-ink metaphor and the Roboto typeface (designed by Christian Robertson) became the visual identity of Android; Google extended the system with Material Theming at I/O 2018 and with the wallpaper-tinted, personalized Material You alongside Android 12 in 2021.

2014 年 6 月由 Google 在 I/O 大会上发布 —— 由设计副总裁 Matías Duarte 主导,内部代号 Quantum Paper —— 同年随 Android 5.0 Lollipop 出厂,成为该公司首个跨平台统一设计语言。纸墨隐喻和 Roboto 字体(Christian Robertson 设计)从此成为 Android 的视觉身份;Google 在 I/O 2018 扩展出 Material Theming,2021 年又随 Android 12 带来能从壁纸取色的个性化 Material You。

See also相关词条