Lesson 02E / Studio
Figma For Web Design Planning
Use Figma to plan structure, responsive layouts, reusable components, and developer handoff before turning a design into HTML and CSS.
Course Role
Studio Support
Best during work sessions, critique, debugging, project planning, or final polish.
Teacher Notes / In-Class Use
Demo Live
- Open a small project file and show how a messy screen becomes easier to build when frames, auto layout, components, and annotations are named clearly.
- Connect one Figma layout decision to the matching HTML or CSS decision students will make in code.
Try In Class
- Have students create mobile and desktop frames for one current project screen.
- Ask students to annotate responsive behavior, UI states, and accessibility notes before writing the HTML outline.
Submit Or Check
- Students should submit the Figma link, one annotated screen, and a matching semantic HTML outline.
- The design should identify repeated components and mark which assets should actually be exported.
Watch For
- Students treating Figma as a final picture instead of a planning and communication tool.
- Designs that rely on screenshots, flattened text, or exact pixel positioning that will not translate well to responsive code.
Learning Goals
- Set up Figma frames that represent real page and app screens.
- Use auto layout to think through spacing, alignment, wrapping, and responsive behavior.
- Create reusable components for buttons, cards, navigation, forms, and common states.
- Prepare a design for front-end implementation with clear annotations, assets, and build notes.
Figma Is A Planning Tool
Figma helps you make decisions before code becomes expensive to change. The goal is not to create a perfect picture of a website. The goal is to clarify structure, hierarchy, content, interaction states, and reusable patterns.
For this class, Figma should help you build better HTML and CSS. If a design choice cannot be explained, tested, or translated into the browser, it needs more work.
- Use Figma to plan content hierarchy before choosing decoration.
- Use frames to compare mobile and desktop layouts.
- Use components to avoid redesigning the same button, card, or form field over and over.
- Use annotations to explain behavior, states, and responsive changes.
A Useful Figma File Structure
| Page | Purpose |
|---|---|
| Cover | Project name, goal, audience, status, and key links. |
| Research or Notes | Audience notes, project requirements, content inventory, and references. |
| Wireframes | Low-pressure layout options before visual polish. |
| Design System | Color, type, spacing, buttons, cards, forms, icons, and repeated patterns. |
| Screens | Mobile and desktop frames for the pages or app screens being built. |
| Prototype or Flow | Clickable path through the main user task, if needed. |
| Handoff | Annotations, asset export notes, CSS values, and open questions. |
Frames Should Match Real Screens
A frame is not only an artboard. It is a way to test whether a screen has a clear purpose, readable content, and a layout that can adapt.
- Create at least one mobile frame before polishing desktop.
- Name frames by user task or page purpose, such as
Event Details - MobileorPortfolio Project Detail - Desktop. - Avoid designing only at one perfect width. Test what should stack, wrap, or resize.
- Keep content realistic. Layout decisions are weaker when every card has the same short placeholder text.
Auto Layout As Web Layout Thinking
Auto layout is valuable because it forces layout decisions that also matter in CSS: direction, gap, padding, alignment, and how content responds when it changes.
| Figma Decision | Front-End Connection |
|---|---|
| Direction | flex-direction or grid flow. |
| Gap | gap between flex or grid items. |
| Padding | Internal spacing inside a card, button, nav, or section. |
| Alignment | align-items, justify-content, or grid placement. |
| Hug contents | Content-based sizing, like buttons that grow with text. |
| Fill container | Flexible sizing, such as flex: 1 or fluid grid tracks. |
| Min and max widths | Responsive constraints that keep layouts readable. |
Components To Build First
Start with repeated interface parts that need consistency. Components are most useful when they capture a decision students will reuse, not when they turn every layer into a system.
- Button with default, hover, focus, disabled, and loading notes.
- Card with image, heading, text, metadata, and link action.
- Navigation item with default and current-page states.
- Form field with label, help text, required text, error message, and focus state.
- Section heading pattern with eyebrow, title, and supporting copy.
- Project or app screen header with title, summary, and primary action.
What To Annotate For Handoff
- Page purpose and primary user action.
- Heading order and important landmarks such as header, nav, main, section, aside, and footer.
- Responsive changes between mobile and desktop.
- Interactive states for links, buttons, forms, menus, cards, and feedback messages.
- Images that need alt text, cropping notes, or export settings.
- Content that is final, placeholder, or still waiting on revision.
- Any design decision that should not be guessed during implementation.
From Figma To HTML And CSS
| In Figma | In Code |
|---|---|
| Frame name | Page, route, or template name. |
| Section group | Semantic section, header, nav, main, aside, or footer. |
| Text style | Reusable type scale or CSS class. |
| Color style | CSS custom property or design token. |
| Auto layout card row | Flexbox or Grid layout with gap and responsive constraints. |
| Component variant | Class, data attribute, state selector, or reusable partial. |
| Prototype link | Real anchor link, button action, route, or JavaScript interaction. |
Studio Activity: Design To Build Plan
Use this activity before students start coding a page or app screen. The final output is a build plan, not just a pretty frame.
- Choose one page or screen from the current project.
- Create mobile and desktop frames with realistic content.
- Apply auto layout to the main repeated groups.
- Create at least three reusable components or component-like patterns.
- Annotate responsive behavior, states, and accessibility notes.
- Write the HTML outline and CSS layout plan beside the frame.
Common Mistakes
| Mistake | Better Move |
|---|---|
| Designing only desktop | Start with mobile and add desktop once the content hierarchy works. |
| Using screenshots of text | Keep text editable and build it as real HTML. |
| Flattening everything into images | Export only true image assets, icons, or illustrations. |
| Ignoring states | Add hover, focus, error, empty, and disabled notes before handoff. |
| Over-polishing before structure | Use wireframes until the user task and content are clear. |
| Copying generated CSS blindly | Use Figma values as references, then write clean project CSS. |
Submission Checklist
- The Figma file has clear page names and frame names.
- The screen has mobile and desktop versions or clear responsive notes.
- Repeated UI pieces are components or intentionally consistent patterns.
- The design includes important interaction and feedback states.
- Assets are marked for export only when they should really be images.
- The handoff includes a semantic HTML outline and CSS layout plan.
Checkpoint
Before moving on, make sure these feel true.
- I can organize a Figma file for a web or app project.
- I can use frames, auto layout, and reusable components to plan a buildable interface.
- I can prepare annotations, assets, and a semantic HTML outline for front-end implementation.
Project Connection