實現設計稿中英文不同字形設定
前言
有時會遇到設計稿中使用不同字體的中英文,如果要一直手動設定真是稍嫌麻煩,下方使用 「 @font-face
規則搭配 unicode-range
屬性 」的方式,在一般專案與 Vue Cli 專案讓系統去偵測中英文並配對對應的字型。
下方兩個範例使用兩種字體:
- 英文字體載入本地端資料夾。Monument Extended 字體載入點
- 中文字體使用 Google Font - Noto Sans Traditional Chinese
❒ Vue Cli + BS
範例
① 資料統整
新增資料夾,把英文字體檔丟入 fonts 資料夾內
- 開啟資料夾 src / assets ,新增 stylesheets / fonts 資料夾,把英文字體檔案丟 fonts 資料夾內。
stylesheets 資料夾新增 all.scss 檔案,把所有樣式從這邊
@import
。- 這邊 npm 載入 bootstrap,all.scss 使用
@import
引入。
- 這邊 npm 載入 bootstrap,all.scss 使用
於 App.vue
@import
all.scss 。- 記得把 App.vue 下方 style 預設的 #app font-family 備註掉,不然會吃不到待會下方要設定的字型。
1
2
3
4<!-- @ 為路徑 src -->
<style lang="scss">
@import '@/assets/stylesheets/all';
</style>
② 使用 @font-face
規則搭配 unicode-range
屬性
- 使用
unicode-range
,它可分辨你是中文或英文。- 中文代碼 :
unicode-range: U+4E00-9FFF;
- 英文代碼 :
unicode-range: U+00-024F;
- 中文代碼 :
- 中文與英文
@font-face
中的font-family
自訂一樣的名字 ( 例如custom-font
),把custom-font
加入 _variables.scss 中的$font-family-sans-serif
的第一個。因為已經各自設定了unicode-range
,所以系統會自己偵測中英文並配對對應字型。
1 | // all.scss |
❒ 一般專案
① 資料整理
- 把載下本地端的英文字體放置專案資料夾內。
- 開啟 all.css 做字體設定。
② 使用 @font-face
規則搭配 unicode-range
屬性
- 使用
unicode-range
,它可分辨你是中文或英文。- 中文代碼 :
unicode-range: U+4E00-9FFF;
- 英文代碼 :
unicode-range: U+00-024F;
- 中文代碼 :
- 中文與英文
@font-face
中的font-family
自訂一樣的名字 ( 例如custom-fonts
),把custom-fonts
加入 body 中。因為已經各自設定了unicode-range
,所以系統會自己偵測中英文並配對對應字型。
1 | /* 中文設定(google font) */ |