現象:`font-family: '宋體';` 觸發 WebStorm 檢查警告:`Font property font-family does not have generic default`。
CSS 規範要求 `font-family` 列表**必須以通用字體族結尾**(`serif`、`sans-serif`、`monospace`、`cursive`、`fantasy`、`system-ui`),作為終極回退保證可讀性。
/* ✅ 正確:以 sans-serif 結尾 */
font-family: "SimSun", "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", sans-serif;
/* ❌ 錯誤:無通用族 */
font-family: "SimSun";
/* ⚠️ 風險:依賴用戶系統安裝特定字體 */
font-family: "MyCustomFont", sans-serif; /* 若用戶無 MyCustomFont 會回退到系統默認 sans-serif */
:root {
--font-sans:
/* 蘋果系統 */
"PingFang SC", "Hiragino Sans GB",
/* Windows 10+ */
"Microsoft YaHei", "Microsoft JhengHei",
/* Windows 7/8 兼容 */
"SimSun", "SimHei",
/* Linux/Android */
"Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC",
/* 通用回退 */
sans-serif;
}
body { font-family: var(--font-sans); }
| 字體名 | 類型 | 說明 |
|---|---|---|
| `SimSun` / `宋體` | 具體字體 | Windows 內置,Mac/Linux 通常無 |
| `sans-serif` | 通用字體族 | 瀏覽器映射到系統默認無襯線字體(如 Mac 上 PingFang、Win 上 YaHei) |
| `system-ui` | 通用字體族 (新) | 直接使用系統 UI 字體(San Francisco / Segoe UI / Roboto),現代瀏覽器支援 |