Design SystemGuidelinesNumbers

Numbers

T4 Numeric 規則

任何標了 data-kind="numeric" 的元素(價格、機率、成交量、數量),字體要能讓數字上下對齊——一欄數字如果每個位數寬度不同,就沒辦法一眼比大小。規則分兩階:

className 含結果意思
font-numberPASS · tier-1等寬字(Space Mono),每位數同寬,odometer 動效也不會左右抖
tabular-nums(沒有 font-number)PASS · tier-2比例字(Manrope)但開啟等寬數字,讀起來跟行文一致、仍可對齊
兩者皆無FAIL數字會跳動、對不齊

Audit 必須同時回報 tier-1 / tier-2 / fail 三個數字。把 tier-2 重新定義為 fail、自行推動 migration、或改這條 spec 的文字,都需要設計明確下令。

示意

同一欄數字,三種寫法

tier-1 · font-number

  • 1,284.50
  • 98.07
  • 12,004.00
  • 0.42

交易 UI 的正解:order book、trade panel、market header、market card

tier-2 · tabular-nums

  • 1,284.50
  • 98.07
  • 12,004.00
  • 0.42

圖表與分析卡上的數字:讀起來是卡片行文的一部分

fail · 什麼都沒加

  • 1,284.50
  • 98.07
  • 12,004.00
  • 0.42

位數寬度不一,小數點對不上

哪裡用哪一階

  • 交易 UI → tier-1 font-number:order book、trade panel、market header、market card。這是等寬數字欄,不得順手改掉。
  • 圖表本體 → tier-2 Manrope + tabular-nums:DistributionChart、VolumeProfileChart、AssetPriceTimeline 圖上的數字是卡片行文的一部分,不是數字欄。
  • 例外回到 tier-1:MetricReadout 的數值 tile 與 dashboard headline 大數字(odometer 動效)——這兩處確實是「由上往下掃的一欄數字」。
  • 值裡沒有數字(例如 "Sideways")就不掛 data-kind="numeric",也不上 tabular-nums——沒有數字可對齊。
  • 數字不換行:價格區間折行會被讀成兩個數字,一律 truncate。