Skip to content

Buổi 06: Thiết Kế UI — Vẽ Trước, Code Sau 🎨

Thành quả: Tạo được 1 wireframe + mockup cho dự án cá nhân!


🎯 Mục tiêu buổi học

  1. Hiểu tại sao cần "vẽ trước, code sau"
  2. Nắm Color Theory cơ bản (chọn màu không xấu)
  3. Hiểu Typography (chọn font chữ)
  4. Biết Layout & Spacing (sắp xếp gọn gàng)
  5. Tạo wireframe bằng AI
  6. Dùng cm-ux-mastercm-ui-preview

📖 Phần 1: Tại Sao Vẽ Trước?

So sánh: Xây nhà

Không có bản vẽ ❌Có bản vẽ ✅
Xây xong mới thấy cửa sổ nhỏBiết trước kích thước cửa
Phá đi xây lại = tốn x10Sửa trên giấy = 5 phút
Hàng xóm: "nhà gì xấu vậy?"Hàng xóm: "nhà đẹp quá!"

Website cũng vậy:

  • Wireframe (bản vẽ khung) → 10 phút
  • Mockup (bản vẽ đẹp) → 30 phút
  • Code lại từ đầu vì xấu → 3 ngày 😭

📖 Phần 2: Color Theory — Bí Mật Màu Sắc

Bánh xe màu (Color Wheel)

           🔴 Đỏ     
        🟠      🟣
     Cam    Tím    
   🟡             🔵
  Vàng       Xanh dương
     🟢         💙
       Xanh lá

3 Nguyên Tắc Chọn Màu

1. Complementary (Bổ sung) — 2 màu đối diện trên bánh xe

Đỏ ↔ Xanh lá     |  Hiệu quả: Nổi bật, tương phản mạnh
Cam ↔ Xanh dương  |  Dùng cho: CTA button, warning

2. Analogous (Tương đồng) — 3 màu cạnh nhau

Xanh dương → Xanh lá → Vàng  |  Hiệu quả: Hài hòa, dịu mắt
Đỏ → Cam → Vàng               |  Dùng cho: Background, gradient

3. Monochromatic (Đơn sắc) — 1 màu, nhiều shade

#1a237e (đậm) → #3949ab → #7986cb → #c5cae9 (nhạt)
Dùng cho: Giao diện thanh lịch, chuyên nghiệp

Công cụ chọn màu (MIỄN PHÍ!)

Công cụLinkĐặc biệt
Coolorscoolors.coNhấn Space = palette mới
Color Huntcolorhunt.coPalette có sẵn
Realtime Colorsrealtimecolors.comXem trực tiếp trên website

Quy tắc 60-30-10

60% = Màu nền chính (Background)    → Trắng/Đen nhẹ
30% = Màu phụ (Cards, sections)     → Màu brand nhạt  
10% = Màu nhấn (Button, links)      → Màu brand đậm

📖 Phần 3: Typography — Font Chữ

Font chữ cơ bản

LoạiĐặc điểmVí dụDùng cho
Sans-serifKhông chân, hiện đạiInter, RobotoWeb app, tech
SerifCó chân, truyền thốngGeorgia, PlayfairBlog, luxury
MonospaceCách đều, kỹ thuậtJetBrains MonoCode

Quy tắc Typography

Heading h1: 32-48px, Bold (700)
Heading h2: 24-32px, Semibold (600)
Body text:  16-18px, Regular (400)
Small text: 12-14px, Regular (400)

Line-height: 1.5 - 1.8 (cho body text)

Combo font hay dùng

1. Inter (heading) + Inter (body) — Đơn giản, tech
2. Playfair Display (heading) + Lato (body) — Luxury
3. Montserrat (heading) + Open Sans (body) — Thân thiện

📖 Phần 4: Layout & Spacing

Grid System (Chia lưới)

┌──────────────────────────────────────┐
│              12 cột                  │
│ ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┤
│ │ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│ 9│10│11│12│
│ ├──┴──┴──┴──┼──┴──┴──┴──┼──┴──┴──┴──┤
│ │  Sidebar  │   Main    │  Sidebar  │
│ │  (4 cột)  │ (4 cột)   │  (4 cột)  │
│ └───────────┴───────────┴───────────┘

Spacing Scale (Thang khoảng cách)

Dùng bội số 4px hoặc 8px:

4px  — rất sát
8px  — sát
16px — vừa (default cho text)
24px — thoáng
32px — section gap
48px — major section
64px — page padding

💡 Quy tắc: Khoảng cách đồng nhất = gọn gàng. Lung tung = xấu!


📖 Phần 5: Wireframe bằng AI

Prompt tạo wireframe:

"Tạo wireframe text-based (ASCII art) cho trang landing page 
của app nhắc uống nước. Gồm:
- Header: Logo + Nav (3 mục) + CTA button
- Hero: Heading lớn + subtitle + 2 button + hình minh họa
- Features: 3 cards (icon + title + description)  
- Testimonial: 3 reviews
- CTA: Download app
- Footer: Links + Social"

Wireframe mẫu:

┌─────────────────────────────────────────┐
│ 💧 Logo    Features  Pricing    [CTA] │ ← Header
├─────────────────────────────────────────┤
│                                         │
│   Uống Đủ Nước, Khỏe Mỗi Ngày        │
│   App nhắc nhở thông minh               │
│   [Download] [Xem Demo]                │ ← Hero
│                                 📱      │
├─────────────────────────────────────────┤
│  ⏰ Nhắc nhở   📊 Thống kê  🏆 Thử    │
│  thông minh     chi tiết      thách     │ ← Features
├─────────────────────────────────────────┤
│  "App hay lắm!" "5 sao!" "Must-have!" │ ← Reviews
├─────────────────────────────────────────┤
│         [🔥 Download Ngay!]             │ ← CTA
├─────────────────────────────────────────┤
│  About | Privacy | Contact | 🔗 Social │ ← Footer
└─────────────────────────────────────────┘

📖 Phần 6: CodyMaster Skills

cm-ux-master

48 luật UX quan trọng nhất, bao gồm:

  • Fitts' Law: Nút càng lớn → càng dễ click
  • Hick's Law: Ít lựa chọn → quyết định nhanh hơn
  • Jakob's Law: Người dùng quen giao diện giống các site khác

cm-ui-preview

Tạo mockup bằng Google Stitch MCP → xem trước giao diện trước khi code!

cm-design-system

Quản lý màu sắc, font, spacing → nhất quán toàn bộ website.


🎓 Tóm tắt

Khái niệmNhớ gì
WireframeBản vẽ khung (xương)
Color 60-30-10Nền-Phụ-Nhấn
TypographyMax 2 fonts, cỡ chữ nhất quán
SpacingBội số 8px, đồng nhất
Grid12 cột, chia đều

⏭️ Buổi tiếp theo

Buổi 07: HTML/CSS — Xây "Bộ Xương" và Mặc "Áo" cho Website 🦴👗

Powered by CodyMaster × VitePress