BrandToPrompt

Weibo Design System: Dense UI for High-Speed Social

Visit Site

Explore Weibo's design system - bold orange palette, compact typography, and tight grid. Build fast, engaging social UIs with Weibo's style.

7 min read1,205 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
system-ui
Secondary Font
Arial

Design Style

Style
utilitarian and dense with minimal shadows and strong brand color emphasis
Visual Density
compact grid-based with tight vertical rhythm
Border Style
mixed: 4px cards, 15px buttons, 36px pill buttons, full for avatars

Full Analysis

Weibo Brand Design System Deep Dive

1. Brand Overview

Weibo’s design language is exactly what you’d expect from one of China’s biggest social platforms: confident, fast, and built for constant interaction. This is a UI for people who live inside it all day — influencers, casual scrollers, news junkies. The visual system is tuned for high-density content and rapid updates.

The vibe is orange-forward, leaning into #ff8200 as a visual anchor. Not subtle at all — this is about being seen, about action. That orange is everywhere: buttons, CTAs, accents. It’s the kind of color that says “click me now” without asking politely. Supporting tones are neutral greys in tight increments (#808080, #cccccc, #939393) plus stark black and white for text and surfaces. It’s a classic social-media blend: warm primary for engagement, cool neutrals to hold content without distraction.

Typography is pragmatic. They rely on system fonts (QuoteFallback stack: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans) and Arial in various contexts. No custom web fonts here — this keeps rendering snappy and consistent across devices. Sizes are compact, with a lot of 15–16px body text and smaller captions. Perfect for dense feeds.

Spacing uses an 8px grid, but with plenty of oddball values (15px, 13px, 9px) — probably legacy from older layouts or specific component tweaks. Corners are rounded in consistent small radii (4px, 8px, 15px, 36px for pill-ish buttons). Avatars and icons go full 50% for circles. Shadows are minimal — the dominant depth cue is border color rather than drop shadows.

Overall: Weibo’s design system is utilitarian and tuned for speed. It’s not trying to win a design award; it’s trying to keep billions of interactions flowing without visual friction. Orange drives action, grey keeps the balance, fonts are safe defaults, and the grid is tight enough to pack a lot in without chaos.


2. Color System

2.1 Primary Colors

The primary is rgb(255, 130, 0) (#ff8200). Saturated, warm, and unmistakable. It sits between safety orange and pumpkin — bright enough to pop against greys and white, but not so harsh as neon. Psychology: urgency with friendliness. Similar to Amazon’s orange, but slightly deeper. Competitors like Twitter go blue, Instagram goes gradient — Weibo’s orange is unique in the social space.

This orange is used for:

  • Primary buttons
  • Login CTAs
  • Highlight elements in navigation

Hover states sometimes push it slightly hotter (#ff5900) for emphasis.

2.2 Complete Palette

Color NameHexRoleUsage
Neutral Grey#808080Secondary textLikes, metadata
Light Grey#ccccccBackground neutralDividers, disabled states
Mid Grey#939393Tertiary textLinks, logo text
White#ffffffSurface / text on orangeButton text, backgrounds
Primary Orange#ff8200Primary actionCTAs, buttons
Black#000000High-contrast textHeaders, icons
Accent Orange-Red#eb7340Secondary accentIcon links
Dark Grey#606060UI controlsButton text, icons
Off-White#f0f1f4Soft backgroundContainer fill
Hover Orange#ff5900Hover state for buttonsPrimary hover
Place Blue#4f7db2Location text/iconsMap, location tags
Tip Green Icon#ffffffIcon color on green bgTips
Gold Icon#fec42dSpecial icon bgBadges
Warn BG#daeeffWarning backgroundAlerts
Orange-3#eb7350Secondary orangeAlternate accents
Red Special#fe3c56Special icon bgAlerts
Orange Special#ff9406Special icon bgHighlights
Blue Special#52afffSpecial icon bgHighlights
Deep Red#a40000Special icon bgHighlights
Gray-10#dfe1e8Neutral UI elementBorders
Liked Color#e14123Like iconEngagement
Error BGrgba(255,237,219,0.95)Error backgroundError states
Red Badge#ff2026Notification badgeAlerts
Red-2redGeneric redError text
Config BG#e5e6ebPanel backgroundConfig menus
Panel BG NonetransparentTop nav backgroundNavigation

2.3 Color Relationships

Contrast: Primary orange against white gives excellent contrast (WCAG AAA for large text). Against black, even stronger. Against light grey (#cccccc), it’s acceptable for icons but borderline for small text.

Grey scale is closely spaced — #808080 vs #939393 is subtle. That can be risky for accessibility, especially for small text. Black and white are used for high-contrast elements to offset this.

Dark mode: No explicit dark mode tokens here — palette is tuned for light backgrounds. If dark mode is needed, orange will still pop, but greys would need re-mapping.

2.4 Usage Guide

  • Works: Orange (#ff8200) + white text for CTAs. Grey (#808080) for metadata on white backgrounds. Black text for headlines.
  • Avoid: Orange on grey backgrounds — low contrast. Grey-on-grey (#cccccc + #939393) for anything important — fails accessibility.
  • Accent: Use #eb7340 for secondary emphasis — it’s softer than primary orange.
  • Functional: Red badge (#ff2026) for notifications only. Place blue (#4f7db2) for location.

3. Typography

3.1 Font Families

Two main families:

  • QuoteFallback stack: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans — used for headings, links, captions.
  • Arial (occasionally with Helvetica fallback) — used for buttons, captions, some headings.

No Google Fonts, no Adobe Fonts, no variable fonts. This makes load times fast and renders consistently.

3.2 Type Scale

ElementFontSize px/remWeightLine Height
heading-1QuoteFallback22px / 1.38rem4000.00
heading-1QuoteFallback22px / 1.38rem5001.18
buttonArial20px / 1.25rem5001.00
heading-1Arial20px / 1.25rem5001.00
heading-1Arial19px / 1.19rem4000.89
linkQuoteFallback16px / 1.00rem400
heading-1QuoteFallback16px / 1.00rem400
heading-1QuoteFallback16px / 1.00rem7001.00
buttonArial16px / 1.00rem4001.00
heading-1Arial16px / 1.00rem4001.00
buttonQuoteFallback16px / 1.00rem400
heading-1QuoteFallback15px / 0.94rem5001.60
heading-1QuoteFallback15px / 0.94rem4001.60
linkQuoteFallback15px / 0.94rem7001.40
heading-1QuoteFallback15px / 0.94rem7001.40
linkQuoteFallback15px / 0.94rem4001.60
buttonArial14px / 0.88rem400
captionArial14px / 0.88rem400
captionQuoteFallback14px / 0.88rem4001.00
buttonArial14px / 0.88rem5001.00
captionArial14px / 0.88rem5001.00
buttonArial13.33px / 0.83rem400
linkQuoteFallback13px / 0.81rem4001.23
captionQuoteFallback13px / 0.81rem4001.23
buttonQuoteFallback12px / 0.75rem4002.33
captionQuoteFallback12px / 0.75rem4001.17
buttonArial12px / 0.75rem4001.00
captionArial12px / 0.75rem4001.00
captionQuoteFallback11px / 0.69rem4001.64
linkQuoteFallback10px / 0.63rem4001.80
captionQuoteFallback10px / 0.63rem4001.80
captionArial10px / 0.63rem4001.00
buttonArial10px / 0.63rem4001.00

3.3 Hierarchy

Hierarchy is achieved through small jumps in size and weight, not huge leaps. 22px headings are rare; most UI runs at 16px or below. This keeps feeds dense, but can hurt scannability. Bold weights at small sizes (700 at 15px) are used for emphasis in lists. Line heights are tight — sometimes literally 1.00 — which reinforces the compact feel.


4. Spacing & Layout

4.1 Spacing Scale

Base grid: 8px. Common values:

pxremcount
10.06rem18
20.13rem4
30.19rem18
40.25rem23
50.31rem17
60.38rem10
70.44rem4
80.50rem36
90.56rem18
100.63rem19
120.75rem4
130.81rem5
140.88rem4
150.94rem75
161.00rem14
181.13rem1
201.25rem7
382.38rem1
402.50rem1
22414.00rem1

4.2 Layout

No explicit breakpoints in data. Likely responsive through Vuetify’s grid system. Container widths are flexible; spacing tokens suggest tight vertical rhythm.


5. Visual Elements

Border Radius

Values:

  • 0px — square
  • 2px — subtle rounding (links, buttons)
  • 3px, 4px — common for divs, cards, images
  • 5px, 6px — rare
  • 8px — frequent for cards, inputs, badges
  • 15px — buttons
  • 20px, 24px, 25px — occasional
  • 36px — pill buttons
  • 50% — avatars, icons, circular badges

Shadows

  • rgba(0,0,0,0.1) 0px 2px 4px
  • rgba(255,130,0,0.4) 0px 2px 10px
  • rgb(255,255,255) 0px 0px 3px
  • rgba(0,0,0,0.8) 0px 0px 7px

Minimal use — mainly flat design with occasional soft shadow.

Borders

Frequent 1px solid in light greys (#f2f2f2, #f0f1f4). Orange borders for active buttons.


6. Components

6.1 Buttons

Primary (woo-button-main woo-button-flat woo-button-primary):

  • Default: bg #ff8200, text #ffffff, padding 9px 15px, radius 0px, border none, font Arial 20px 500
  • Hover: text color var(--gray-400)
  • Focus: no explicit style

Wrap Button (woo-button-wrap):

  • Transparent bg, white text, no padding, radius 0px, border 1px transparent

Box Flex Button:

  • bg #e5e6eb, text black-ish (#050505), radius 15px, font 13.33px

Side Option Button:

  • bg #f9f9f9, text #838383, radius 4px

Panel Button:

  • bg #ffffff, text #939393, border 1px solid #f2f2f2, radius 4px, transform translateX(-40px)

No underline, colors vary:

  • Black #000000, grey #939393, orange #ff8200, white #ffffff, accent #eb7340
  • Weight mostly 400, orange variant at 500

6.3 Forms

Text inputs: transparent bg, text #333333, no border, no radius. Very minimal.

6.4 Cards

Border-radius 4px or 8px, light grey borders, minimal shadows.


7. Design Tokens

:root {
  /* Colors */
  --color-primary: #ff8200;
  --color-primary-hover: #ff5900;
  --color-grey-1: #808080;
  --color-grey-2: #cccccc;
  --color-grey-3: #939393;
  --color-grey-4: #606060;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-orange-secondary: #eb7340;
  --color-offwhite: #f0f1f4;
  --color-place-blue: #4f7db2;
  --color-gold-icon: #fec42d;
  --color-warn-bg: #daeeff;
  --color-orange-3: #eb7350;
  --color-red-special: #fe3c56;
  --color-orange-special: #ff9406;
  --color-blue-special: #52afff;
  --color-deep-red: #a40000;
  --color-gray-10: #dfe1e8;
  --color-liked: #e14123;
  --color-error-bg: rgba(255,237,219,0.95);
  --color-red-badge: #ff2026;
  --color-red-2: red;
  --color-config-bg: #e5e6eb;
  --color-nav-bg: transparent;

  /* Typography */
  --font-quote-fallback: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans;
  --font-arial: Arial, Helvetica, sans-serif;

  /* Spacing */
  --space-1: 1px;
  --space-2: 2px;
  --space-3: 3px;
  --space-4: 4px;
  --space-5: 5px;
  --space-6: 6px;
  --space-7: 7px;
  --space-8: 8px;
  --space-9: 9px;
  --space-10: 10px;
  --space-12: 12px;
  --space-13: 13px;
  --space-14: 14px;
  --space-15: 15px;
  --space-16: 16px;
  --space-18: 18px;
  --space-20: 20px;
  --space-38: 38px;
  --space-40: 40px;
  --space-224: 224px;

  /* Radius */
  --radius-none: 0px;
  --radius-2: 2px;
  --radius-3: 3px;
  --radius-4: 4px;
  --radius-5: 5px;
  --radius-6: 6px;
  --radius-8: 8px;
  --radius-15: 15px;
  --radius-20: 20px;
  --radius-24: 24px;
  --radius-25: 25px;
  --radius-36: 36px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-soft: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px;
  --shadow-orange: rgba(255, 130, 0, 0.4) 0px 2px 10px 0px;
  --shadow-white: rgb(255, 255, 255) 0px 0px 3px 0px;
  --shadow-hard: rgba(0, 0, 0, 0.8) 0px 0px 7px 0px;
}

8. AI Coding Assistant Prompt

# Weibo Design System Specification

You are a Weibo design expert. Build UIs matching their visual language exactly.

## Brand Context
Weibo’s design is built for high-density social interaction. Orange drives engagement, neutrals hold content without distraction. Typography is system-based for speed, spacing is tight, corners are small and consistent.

## Color Palette
- Primary Orange: #ff8200 — CTAs, primary buttons, login actions
- Primary Hover Orange: #ff5900 — Hover state for primary buttons
- Neutral Grey-1: #808080 — Secondary text, metadata
- Light Grey: #cccccc — Background neutral, dividers
- Mid Grey: #939393 — Tertiary text, logo text
- White: #ffffff — Surfaces, text on orange
- Black: #000000 — Headlines, icons
- Accent Orange-Red: #eb7340 — Icon links, secondary accents
- Dark Grey: #606060 — UI controls, icons
- Off-White: #f0f1f4 — Container backgrounds
- Place Blue: #4f7db2 — Location tags
- Gold Icon: #fec42d — Special icon backgrounds
- Warn Background: #daeeff — Alerts
- Orange-3: #eb7350 — Secondary orange accents
- Red Special: #fe3c56 — Alert icons
- Orange Special: #ff9406 — Highlight icons
- Blue Special: #52afff — Highlight icons
- Deep Red: #a40000 — Highlight icons
- Gray-10: #dfe1e8 — Borders, neutral UI
- Liked Color: #e14123 — Like icons
- Error BG: rgba(255,237,219,0.95) — Error states
- Red Badge: #ff2026 — Notifications
- Red-2: red — Error text
- Config BG: #e5e6eb — Panel background
- Nav BG Transparent: transparent — Top navigation

## Typography
Fonts:
- QuoteFallback: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans
- Arial, Helvetica

Sizes/Weights:
| Level | Font | Size | Weight | Line Height | Use |
|-------|------|------|--------|-------------|-----|
| H1-lg | QuoteFallback | 22px | 500 | 1.18 | Page titles |
| H1-md | Arial | 20px | 500 | 1.00 | Headlines |
| Body | QuoteFallback | 16px | 400 | — | Feed text |
| Body-bold | QuoteFallback | 15px | 700 | 1.40 | Emphasis text |
| Caption | Arial | 14px | 400 | — | Metadata |
| Small | QuoteFallback | 12px | 400 | 1.17 | Small UI labels |
| Tiny | QuoteFallback | 10px | 400 | 1.80 | Secondary info |

## Spacing & Grid
Base unit: 8px
Scale: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 38, 40, 224
Use multiples for all padding/margins.

## Border Radius
- none: 0px — square edges
- sm: 2px — subtle rounding
- md: 4px — inputs, cards
- lg: 8px — badges, larger cards
- pill: 15px — buttons
- xl-pill: 36px — pill buttons
- full: 50% — avatars, circular icons

## Shadows & Depth
- Soft: rgba(0,0,0,0.1) 0px 2px 4px
- Accent: rgba(255,130,0,0.4) 0px 2px 10px
- Rarely used — prefer borders for depth.

## Component Specifications

### Primary Button
Default:
```css
.btn-primary {
  background-color: #ff8200;
  color: #ffffff;
  padding: 9px 15px;
  border-radius: 0px;
  border: none;
  font-family: Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
}
.btn-primary:hover {
  background-color: #ff5900;
}
.btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
```

### Secondary Button
```css
.btn-secondary {
  background-color: #f9f9f9;
  color: #838383;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 400;
}
```

### Navigation Links
```css
.nav-link {
  color: #000000;
  text-decoration: none;
}
```

### Input Fields
```css
.input-text {
  background-color: transparent;
  color: #333333;
  border: none;
  border-radius: 0px;
  padding: 0px;
}
```

### Card
```css
.card {
  background-color: #ffffff;
  border-radius: 8px;
  border: 1px solid #f2f2f2;
  padding: 15px;
}
```

## Layout & Responsive Rules
- Use Vuetify grid
- All spacing multiples of 8px
- No breakpoints defined — follow Vuetify defaults

## Interaction Rules
- State changes: 150ms ease transitions
- Hover: color or background change only
- Focus: outline in high contrast color

## DO List
- Use only defined palette colors
- Keep spacing to multiples of 8px
- Maintain consistent border radius per component type
- Use system fonts — no custom web fonts
- Keep shadows minimal

## DON'T List
- Don't invent new colors
- Don't mix sharp and rounded corners
- Don't overuse shadows
- Don't break the tight vertical rhythm

## Code Examples

Primary Button:
```css
.btn-primary {
  background: #ff8200;
  color: #fff;
  padding: 9px 15px;
  border-radius: 0;
  font: 500 20px Arial;
}
```

Card:
```css
.card {
  background: #fff;
  border: 1px solid #f2f2f2;
  border-radius: 8px;
  padding: 15px;
}
```

Input:
```css
.input {
  background: transparent;
  color: #333;
  border: none;
  padding: 0;
}
```

9. Summary

TL;DR — Weibo’s design is built for speed and density. Orange grabs attention, greys hold the frame, fonts are system defaults. Spacing is tight, corners are small, shadows are rare.

Brand Keywords: orange-driven, dense-feed, utilitarian-modern, action-oriented, minimal-depth