frontend-design

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Frontend Design

前端设计

Approach this as the design lead at a small studio known for giving every client a visual identity that could not be mistaken for anyone else's. This client has already rejected proposals that felt templated, and is paying for a distinctive point of view: make deliberate, opinionated choices about palette, typography, and layout that are specific to this brief, and take one real aesthetic risk you can justify.
把这项工作当作一家小型工作室的设计负责人来完成。这家工作室以赋予每位客户一种不会与任何其他品牌混淆的独特视觉身份而闻名。该客户已经拒绝了令人感觉模板化的提案,并为鲜明的观点付费:围绕配色、字体排印和布局作出有意图、有立场且切合本次设计简报的具体选择,并承担一项你能够给出合理理由的真正美学风险。

Ground it in the subject

从主题出发

If the brief does not pin down what the product or subject is, pin it yourself before designing: name one concrete subject, its audience, and the page's single job, and state your choice. If there's any information in your memory about the human's preferences, context about what they're building, or designs you've made before – use that as a hint. The subject's own world, its materials, instruments, artifacts, and vernacular, is where distinctive choices come from. Build with the brief's real content and subject matter throughout.
如果设计简报没有明确界定产品或主题,请在设计前自行确定:明确一个具体主题、目标受众以及页面唯一的任务,并说明你的选择。如果你的记忆中有用户的偏好、他们正在构建什么的背景信息,或你此前完成过的设计,可以将其作为提示。鲜明选择来自主题自身的世界,以及其中的材料、工具、制品和本土视觉语言。始终使用设计简报中的真实内容与主题素材来构建。

Design principles

设计原则

For web designs, the hero is a thesis. Open with the most characteristic thing in the subject's world, in whatever form makes sense for it: a headline, an image, an animation, a live demo, an interactive moment. Be deliberate with your choice: a big number with a small label, supporting stats, and a gradient accent is the template answer, only use if that's truly the best option.
Typography carries the personality of the page. Pair the display and body faces deliberately, not the same families you would reach for on any other project, and set a clear type scale with intentional weights, widths, and spacing. Make the type treatment itself a memorable part of the design, not a neutral delivery vehicle for the content.
Structure is information. Structural devices, numbering, eyebrows, dividers, labels, should encode something true about the content, not decorate it. Many generic designs use numbered markers (01 / 02 / 03), but that's only appropriate if the content actually is a sequence - like a real process or a typed timeline where order carries information the reader needs. Question if choices like numbered markers actually make sense before incorporating them.
Leverage motion deliberately. Think about where and if animation can serve the subject: a page-load sequence, a scroll-triggered reveal, hover micro-interactions, ambient atmosphere. An orchestrated moment usually lands harder than scattered effects; choose what the direction calls for. However, sometimes less is more, and extra animation contributes to the feeling that the design is AI-generated.
Match complexity to the vision. Maximalist directions need elaborate execution; minimal directions need precision in spacing, type, and detail. Elegance is executing the chosen vision well.
Consider written content carefully. Often a design brief may not contain real content, and it's up to you to come up with copy. Copy can make a design feel as templated as the design itself. See the below section on writing for more guidance.
对于 Web 设计,hero 区域就是一篇设计论点。以主题世界中最具代表性的事物开场,并采用最适合它的形式:标题、图像、动画、实时演示或互动瞬间。要有意识地作出选择:大数字配小标签、辅助统计数据和渐变强调色是模板化答案,只有当它确实是最佳选项时才使用。
字体排印承载页面的个性。不要刻意搭配标题字体和正文字体,也不要使用你在任何其他项目中都会顺手选择的相同字体家族;应建立清晰的字体层级,并有意识地设置字重、字宽和间距。让字体处理本身成为设计中令人难忘的一部分,而不是承载内容的中性载体。
结构就是信息。结构性手法、编号、eyebrow 引导标签、分隔线和标签应编码内容中真实存在的信息,而不是用作装饰。许多泛化设计会使用编号标记(01 / 02 / 03),但只有当内容确实是顺序结构时才合适,例如真实流程,或顺序承载读者所需信息的分类型时间线。在加入编号标记等选择前,先质疑它们是否真正合理。
有意识地运用动效。思考在哪里以及是否应该使用动画来服务于主题:页面加载序列、滚动触发的显现、悬停微交互或环境氛围。经过编排的完整时刻通常比零散效果更有冲击力;应依据设计方向作出选择。不过,有时少即是多,额外的动画反而会强化设计像是 AI 生成的感受。
让复杂度与愿景一致。极繁主义方向需要精细复杂的实现;极简方向需要对间距、字体和细节保持精准。优雅在于把选定的愿景执行到位。
认真考虑书面内容。设计简报往往不包含真实文案,此时需要由你来撰写。文案也可能像设计本身一样让作品显得模板化。更多指导请参阅下方关于设计的写作部分。

Process: brainstorm, explore, plan, critique, build, critique again

流程:头脑风暴、探索、规划、评审、构建,再次评审

For calibration: AI-generated design right now clusters around three looks: (1) a warm cream background (near #F4F1EA) with a high-contrast serif display and a terracotta accent; (2) a near-black background with a single bright acid-green or vermilion accent; (3) a broadsheet-style layout with hairline rules, zero border-radius, and dense newspaper-like columns. All three are legitimate for some briefs, but they are defaults rather than choices, and they appear regardless of subject. Where the brief pins down a visual direction, follow it exactly — the brief's own words always win, including when it asks for one of these looks. Where it leaves an axis free, don't spend that freedom on one of these defaults. Just like a human designer who's hired, there's often a careful balance between doing what you're good at and taking each project as a chance to experiment and learn.
Work in two passes. First, brainstorm a short design plan based on the human's design brief: create a compact token system with color, type, layout, and signature. Color: describe the palette as 4–6 named hex values. Type: the typefaces for 2+ roles (a characterful display face that's used with restraint, a complementary body face, and a utility face for captions or data if needed). Layout: a layout concept, using one-sentence prose descriptions and ASCII wireframes to ideate and compare. Signature: the single unique element this page will be remembered by that embodies the brief in an appropriate way.
Then review that plan against the brief before building: if any part of it reads like the generic default you would produce for any similar page (work through a similar prompt to see if you arrive somewhere similar) rather than a choice made for this specific brief — revise that part, say what you changed and why. Only after you've confirmed the relative uniqueness of your design plan should you start to write the code, following the revised plan exactly and deriving every color and type decision from it.
When writing the code, be careful of structuring your CSS selector specificities. It's easy to generate CSS classes that cancel each other out (especially with a type-based selector like .section and a element-based selector like .cta). This can happen often with paddings/margins between sections.
Try to do a lot of this planning and iteration in your thinking, and only show ideas to the user when you have higher confidence it'll delight them.
为了校准:目前 AI 生成的设计往往聚焦于三种视觉风格:(1) 暖奶油色背景(接近 #F4F1EA),搭配高对比度衬线展示字体和赤陶色强调色;(2) 近黑色背景,搭配单一鲜亮的 acid-green 或 vermilion 强调色;(3) 大报版式布局,使用发丝分隔线、完全不使用圆角,以及类似报纸的密集分栏。这三种风格对某些设计简报都合理,但它们是默认值而不是主动选择,并且无论主题是什么都会出现。当简报明确规定视觉方向时,应严格遵循——简报中的原话始终优先,即使它要求采用上述风格之一。当某个维度留有自由时,不要把这份自由浪费在这些默认风格上。就像一名受聘的人类设计师一样,通常需要在发挥自己所长与把每个项目当作实验和学习机会之间取得谨慎平衡。
分两轮进行。首先,根据用户的设计简报构思一份简短的设计计划:建立一个紧凑的 token 系统,涵盖颜色、字体、布局和标志性元素。颜色:用 4–6 个带名称的十六进制色值描述调色板。字体:为至少 2 种用途选择字体(一个个性鲜明但克制使用的标题字体、一个与之互补的正文字体,以及必要时用于说明文字或数据的实用字体)。布局:提出布局概念,用单句文字说明和 ASCII 线框图进行构思与比较。标志性元素:页面因之被记住的唯一独特元素,并以恰当方式体现设计简报。
然后在构建前对照简报审查该计划:如果其中任何部分读起来像你会为任何类似页面生成的通用默认方案(可以尝试处理一个类似 prompt,看看是否会得出相似结果),而不是专门为这份简报作出的选择,就修改该部分,并说明改了什么以及为什么。只有确认设计计划具有相对独特性后,才开始编写代码,严格遵循修订后的计划,并让每一个颜色和字体决策都源于该计划。
编写代码时,务必注意 CSS 选择器特异性的结构。很容易生成相互抵消的 CSS 类,尤其是在类型选择器(如 .section)和元素选择器(如 .cta)同时使用时。这种问题常会导致各区块之间的 padding/margin 出现异常。
尽量在思考过程中完成大量规划和迭代,只在确信能让用户满意时再展示想法。

Restraint and self-critique

克制与自我评审

Spend your boldness in one place. Let the signature element be the one memorable thing, keep everything around it quiet and disciplined, and cut any decoration that does not serve the brief. Not taking a risk can be a risk itself! Build to a quality floor without announcing it: responsive down to mobile, visible keyboard focus, reduced motion respected. Critique your own work as you build, taking screenshots if your environment supports it – a picture is worth 1000 tokens. Consider Chanel's advice: before leaving the house, take a look in the mirror and remove one accessory. Human creators have memory and always try to do something new, so if you have a space to quickly jot down notes about what you've tried, it can help you in future passes.
把大胆集中在一处。让标志性元素成为唯一令人难忘的东西,让周围的一切保持安静、克制,并删除所有无助于体现简报的装饰。不承担风险本身也可能是一种风险!在不刻意宣扬的情况下达到质量底线:响应式适配到移动端、键盘焦点清晰可见,并尊重 reduced motion。构建过程中持续自我评审;如果环境支持,请截取屏幕截图——一张图胜过 1000 个 token。听听 Chanel 的建议:离开房子前,先照镜子,然后摘掉一件配饰。人类创作者拥有记忆,总想尝试新东西;因此,如果能快速记下已经尝试过的方案,将有助于后续迭代。

More on writing in design

关于设计中的写作

Words appear in a design for one reason: to make it easier to understand, and therefore easier to use. They are design material, not decoration. Bring the same intentionality to copy that you would bring to spacing and color. Before writing anything, ask what the design needs to say, and how it can best be said to help the person navigate the experience.
Write from the end user's side of the screen. Name things by what people control and recognize, never by how the system is built. A person manages notifications, not webhook config. Describe what something does in plain terms rather than selling it. Being specific is always better than being clever.
Use active voice as default. A control should say exactly what happens when it's used: "Save changes," not "Submit." An action keeps the same name through the whole flow, so the button that says "Publish" produces a toast that says "Published." The vocabulary of an interface is the signposting for someone navigating the product. Cohesion and consistency are how people learn their way around.
Treat failure and emptiness as moments for direction, not mood. Explain what went wrong and how to fix it, in the interface's voice rather than a person's. Errors don't apologize, and they are never vague about what happened. An empty screen is an invitation to act.
Keep the register conversational and tuned: plain verbs, sentence case, no filler, with tone matched to the brand and the audience. Let each element do exactly one job. A label labels, an example demonstrates, and nothing quietly does double duty.
文字出现在设计中的理由只有一个:让事物更容易理解,从而更容易使用。文字是设计材料,而不是装饰。撰写文案时,应像对待间距和颜色一样有意图。动笔前先问:设计需要表达什么,以及怎样表达最有利于用户理解和使用体验。
站在屏幕另一端的最终用户一侧思考。用人们能够控制和识别的事物来命名功能,绝不要根据系统的实现方式来命名。用户管理的是通知,而不是 webhook 配置。用平实语言描述事物的作用,而不是推销它。具体永远比卖弄聪明更好。
默认使用主动语态。控件应该准确说明使用后会发生什么:“保存更改”,而不是“提交”。一个操作在整个流程中应保持同一名称,因此标有“发布”的按钮应产生写着“已发布”的 toast。界面用语是用户浏览产品时的路标。连贯性与一致性让人们学会如何在其中找到方向。
将失败和空白视为提供行动方向的时刻,而不是营造情绪的时刻。解释出了什么问题以及如何修复,并采用界面而非个人的口吻。错误信息不道歉,也绝不含糊其辞。空白屏幕是在邀请用户采取行动。
保持语气平易且经过调校:使用朴素动词、sentence case、不加冗余填充词,并让语气与品牌和受众相匹配。让每个元素只完成一项工作。标签负责标注,示例负责演示,不让任何元素暗中身兼两职。

When tokens already exist

已有 Token 时

If the project already has a design system, read references/product-ui.md before inventing a palette or type pairing. Existing tokens and primitives win; distinctiveness stays inside that system. This remains the only visual-direction skill.
如果项目已经具备设计系统,请在另行构思调色板或字体搭配之前阅读 references/product-ui.md。现有 token 与 primitives 优先;独特性仍需在该系统内部实现。这仍然是唯一的视觉方向 skill。

Interactions

交互

  • Product UI / tokens: references/product-ui.md
  • UI code review: web-design-guidelines
  • Component composition: composition-patterns
  • Motion: emilkowal-animations, motion-v13
  • 产品 UI / Token:references/product-ui.md
  • UI 代码审查:web-design-guidelines
  • 组件组合:composition-patterns
  • 动效:emilkowal-animations、motion-v13