Variable fonts guide
**å¯ååä½ï¼Variable fontsï¼**æ¯ OpenType åä½è§èä¸çæ¼è¿ï¼å®å
许å°åä¸åä½çå¤ä¸ªåä½ç»åè¿åç¬çå使件ä¸ãä»èæ éåå°ä¸åå宽ãåéæä¸åæ ·å¼çåä½å岿ä¸åçå使件ãä½ åªééè¿ CSS ä¸ä¸è¡@font-faceå¼ç¨ï¼å³å¯è·åå
å«å¨è¿ä¸ªå䏿件ä¸çåç§åä½åä½ãæ¬æå°ä»ç»å¦ä½å¨ Web ä¸ä½¿ç¨å¯ååä½ã
è¦åï¼ä¸ºäºè½å¤å¨ä½ çæä½ç³»ç»ä¸æ£ç¡®å°ä½¿ç¨å¯ååä½ï¼è¯·ç¡®å®ä½ çæä½ç³»ç»å·²ç»åçº§å°ææ°çæ¬ãä¾å¦å Linux åè¡çï¼åºå° Freetype åçº§å°ææ°çæ¬ã10.13 çæ¬ä¹åç macOS 䏿¯æå¯ååä½ãå¦æä½ çæä½ç³»ç»æ²¡æåçº§å°ææ°çï¼ä½ å°æ æ³å¨ç½é¡µå Firefox Developer Tools ä¸ä½¿ç¨å¯ååä½ã
å¯ååä½ï¼ä½è°ä¸ä½å¼
ä¸ºäºæ´å¥½ççè§£å¯åå使ä»ä¹ä¸åï¼æä»¬æå¿ è¦å顾ä¸ä¸ä»ä¹æ¯éå¯ååä½ï¼å¹¶å¯¹äºè è¿è¡ä¸çªæ¯è¾ã
æ åï¼éæï¼åä½
è¿å»ï¼ä¸ä¸ªåä½å®¶æå¾å¾ç±å¤§éç¬ç«åä½æä»¶ç»æï¼æ¯ä¸ªå使件é½ä»£è¡¨æä¸ç¹å®ç宽度/åé/æ ·å¼çç»åãå æ¤ä½ ä¼çå°æåç¬çå使件å«åâRoboto RegularâãâRoboto Boldâï¼ææ¯âRoboto Bold Italicâââè¿æå³çä½ å¯è½éè¦ 20 æ 30 个ä¸åçå使件æè½ç®æ¯æäºä¸æ´ä¸ªåä½å®¶æï¼å¯¹äºæçä¸å宽度ç大åå使¥è¯´ï¼è¿ä¸ªæ°éè¿è¦ç¿»ä¸å åï¼ã
å¨è¿æ ·çæ æ¯ä¸ï¼ä¸ºäºå¨ä¸ä¸ªå纯æ¾ç¤ºè¿è¡æ£æå±ç¤ºç页é¢ä¸ä½¿ç¨ä¸ä¸ªåä½ï¼ä½ è³å°éè¦å个å使件ï¼å¸¸è§ãæä½ãå ç²ãæä½å ç²ãå¦æä½ æ³æ·»å æ´å¤çåéï¼æ¯å¦è®©é¢æ³¨æ´è½»æè®©é¢å¤å¼ºè°çå°æ¹æ´éï¼æå³çä½ éè¦æ´å¤æä»¶ãè¿å°±å¯¼è´äºæ´å¤å¤§é HTTP 请æ±ç产çï¼åæ¶ä¹éè¦ä¸è½½æ´å¤çæ°æ®ï¼é常æ¯ä¸ªæä»¶è³å°æ 20k ææ´å¤ï¼ã
å¯ååä½
éè¿ä½¿ç¨å¯ååä½ï¼ææè¿äºæ åµçæåç»åé½å¯ä»¥è¢«è£ è¿ä¸ä¸ªæä»¶ä¸ãè¿ä¸ªæä»¶å¯è½æ¯å¸¸è§çå个å使件大ä¸äºï¼ä½é常æ åµä¸ï¼é½ä¸ä¼å¤§äºï¼å¹¶ä¸å¸¸å¸¸æ¯å°äºä½ å 为è¦å±ç¤ºæ£ææéè¦ä¸è½½çå个æä»¶ç尺寸æ»åã使ç¨å¯ååä½çä¼å¿æ¯ä½ å¯ä»¥ç´æ¥ä½¿ç¨ææå¯ç¨çåéãå®½åº¦åæ ·å¼çåä½ï¼èä¸å¿ åè¿å»ä¸æ ·ä» ä» åéäºä½¿ç¨å ¶ä¸åç¬çæä¸ç§ã
è¿å 许使ç¨å¸¸è§çæçææ¯ï¼ä¾å¦å¨ä¸åçåéä¸è®¾ç½®ä¸å大å°çæ é¢ï¼ä»¥ä¾¿å¨æ¯ç§å¤§å°ä¸é½å ·ææ´å¥½çå¯è¯»æ§ï¼æè 卿°æ®å¯éå±ç¤ºæ¶ä½¿ç¨ç¨çªä¸ç¹çåä½å®½åº¦ãç¸æ¯ä¹ä¸ï¼å¨æå¿çå°å·ç³»ç»ä¸ï¼å¨æ´ä¸ªåºçç©ä¸ä½¿ç¨ 10-15 ç§ææ´å¤ä¸åçåéå宽度ç»åæ¯å¾å ¸åçââè¿æ¯ç®åå¨ web ä¸çå ¸åæ ·å¼æä¾äºæ´å¹¿æ³çæ ·å¼èå´ (æè ä» ä»æ§è½æ¹é¢èèç¡®å®å¾å®ç¨)ã
å ³äºåä½ç³»åï¼åéååä½ç说æ
ä½ å¯è½æ³¨æå°ï¼æä»¬ä¸ç´å¨è®¨è®ºä¸ºæ¯ç§æéåæ ·å¼ (å³ç²ä½ï¼æä½ä»¥åæä½å ç²) å建ç¹å®çå使件ï¼è䏿¯ä¾èµäºæµè§å¨æ¥åæå®ä»¬ãè¿æ ·åçåå ï¼æ¯å¤§å¤æ°åä½å¯¹äºç²ä½åæä½é½æéå¸¸ç¹æ®ç设计ï¼å®ä»¬é常å å«å®å ¨ä¸åçå符 (ä¾å¦ï¼å°å忝çâaâåâgâ卿ä½ä¸å¸¸å¸¸æ¯å®å ¨ä¸åç)ãå¨ä½¿ç¨éå¯åå使¶ï¼ä¸ºäºæåç¡®å°åæ åä½è®¾è®¡ï¼é¿å æµè§å¨ä¹é´çå·®å¼ä»¥åå®ä»¬å¦ä½åææä¸åæä¸åçæ ·å¼ï¼å¨éè¦çå°æ¹å è½½ç¹å®çå使件伿´ä¸ºåç¡®ã
ä½ å¯è½è¿ä¼åç°ä¸äºå¯ååä½å为两个æä»¶ï¼ä¸ä¸ªç¨äºæ£ä½åå
¶ææåä½ï¼å¦ä¸ä¸ªå
嫿ä½åä½ãææ¶è¿æ ·åæ¯ä¸ºäºå¨ä¸éè¦æä¸ä½¿ç¨æä½çæ
åµä¸åå°æ´ä½æä»¶å¤§å°ã卿ææ
åµä¸ï¼ä»ç¶å¯ä»¥éè¿éç¨ç font-family åç§°é¾æ¥å®ä»¬ï¼ä»¥ä¾¿ä½ å¯ä»¥ä½¿ç¨ç¸åç font-family åç¸åºç font-style æ¥è°ç¨å®ä»¬ã
ä»ç»âå¯åè½´â (variation axis)
å¯åå使°æ ¼å¼çæ ¸å¿æ¯å¯åè½´çæ¦å¿µï¼å ¶æè¿°äºåä½è®¾è®¡ä¸æä¸ç¹æ§çå 许ååèå´ãä¾å¦âåéè½´âæè¿°äºåä½çç²ç»ï¼â宽度轴âæè¿°äºåä½ç宽çªï¼âæä½è½´âæè¿°æ¯å¦ä½¿ç¨æä½å形并ä¸å¯ç¸åºå°å¼å ³ï¼çã请注æï¼è½´æ¢å¯ä»¥æ¯èå´éæ©åå¯ä»¥æ¯å¼å ³éæ©ãåéå¯è½å¨ 1-999 ä¹é´ï¼èæä½å¯è½åªæ¯ç®åç 0 æ 1ï¼å ³éææå¼ï¼ã
å¦è§è䏿å®ä¹ï¼åå¨ä¸¤ç§åå½¢è½´ï¼æ³¨åè½´åèªå®ä¹è½´ï¼
- 注åè½´æä¸ºå¸¸è§ï¼å¸¸è§å°å¶å®è§èçä½è 认为æå¿ è¦è¿è¡æ ååãç®å注åçäºä¸ªè½´æ¯åéï¼å®½åº¦ï¼å¾æåº¦ï¼æä½åå å¦å°ºå¯¸ãW3C å·²ç»å°å®ä»¬æ å°å°ç°æç CSS 屿§ï¼å¹¶å¨ä¸ä¸ªæ¡ä¾ä¸å¼å ¥äºä¸ä¸ªæ°ç屿§ï¼ä½ å°å¨ä¸é¢çå°ã
- èªå®ä¹è½´å®é 䏿¯æ éçï¼åä½è®¾è®¡å¸å¯ä»¥å®ä¹åçå®ä»ä»¬å欢çä»»ä½è½´ï¼å¹¶ä¸åªéè¦ç»å®ä¸ä¸ªåä¸ªåæ¯çæ ç¾ä»¥å¨åä½æä»¶æ ¼å¼æ¬èº«ä¸è¯å«å®ãä½ å¯ä»¥å¨ CSS ä¸ä½¿ç¨è¿äºåä¸ªåæ¯çæ ç¾æ¥æå®æ²¿è¯¥ååè½´çç¹ï¼ä½ ä¹å°å¨ä¸é¢ç代ç 示ä¾ä¸çå°ã
注åè½´åç°æç CSS 屿§
卿¬èä¸ï¼æä»¬å°éè¿ç¤ºä¾åç¸åºç CSS æ¥æ¼ç¤ºå·²å®ä¹çäºä¸ªæ³¨åè½´ãå¨å¯è½çæ
åµä¸ï¼å
æ¬æ åè¯æ³åä½çº§è¯æ³ãè¾ä½çº§è¯æ³ (font-variation-settings) æ¯ä¸ºäºæµè¯å¯¹å¯åå使¯æçæ©æå®ç°èå®ç°ç第ä¸ä¸ªæºå¶ï¼å¹¶ä¸éè¦ä½¿ç¨äºä¸ªæ³¨åè½´ä¹å¤çæ°è½´æèªå®ä¹è½´ã使¯ï¼W3C çæå¾æ¯å¨å
¶ä»å±æ§å¯ç¨æ¶ä¸ä½¿ç¨æ¤è¯æ³ãå æ¤ï¼åºå°½å¯è½ä½¿ç¨ç¸åºç屿§ï¼font-variation-settingsçä½çº§è¯æ³ä»
ç¨äºè®¾ç½®å¼ä¸å¯ç¨çå¼æè½´ã
注æ
-
å½ä½¿ç¨
font-variation-settingsæ¶ï¼è¯·å¡å¿ 注æè½´åç§°åºå大å°åãæ³¨åè½´åç§°å¿ é¡»ä¸ºå°åï¼èªå®ä¹è½´å¿ 须为大åãä¾å¦ï¼cssfont-variation-settings: "wght" 375, "GRAD" 88;wghtï¼weightï¼æ¯ä¸ä¸ªæ³¨åè½´ï¼GRADï¼gradeï¼æ¯ä¸ä¸ªèªå®ä¹è½´ã -
å¦æä½ ä½¿ç¨
font-variation-settings设置äºå¼å¹¶æ³è¦æ´æ¹å ¶ä¸ä¸ä¸ªå¼ï¼åå¿ é¡»éæ°å£°æææå¼ãä½ å¯ä»¥éè¿å¯¹å个å¼ä½¿ç¨CSS èªå®ä¹å±æ§ï¼CSS åéï¼æ¥è§£å³æ¤éå¶ï¼å¹¶åªéä¿®æ¹å个èªå®ä¹å±æ§çå¼ã该æåæ«å°¾æç¤ºä¾ä»£ç ã
åé
åéï¼ç± wght æ ç¾è¡¨ç¤ºï¼æ¯å®ä¹äºåå½¢çç¬ç»ç²ç»èå´ï¼å¨å°å·æ¯è¯ä¸ç§°ä¸ºè½»éï¼ç设计轴ãå¾é¿ä¸æ®µæ¶é´ï¼CSS é½è½å¤éè¿ font-weight) è¿ä¸ªéç¨ 100 å° 900 ä¹é´ç以 100 为å¢éçæ°åå¼ä»¥åç±»ä¼¼äº normal æ bold çè¿æ ·æç¸åºæ°åå¼çå«åï¼å¨è¿ç§æ
åµä¸ä¸º 400 å 700ï¼çå
³é®åç屿§æ¥å®ç°ãå¨å¤çéå¯åæå¯åå使¶ä»ç¶ä¼ç¨å°è¿äºæ°å¼æå
³é®åï¼ä½å¯¹äºå¯ååä½ï¼1 å° 1000 ä¹é´ç任使°å齿¯ææçã
åºè¯¥æ³¨æçæ¯ï¼æ¤æ¶ @font-face 声æä¸æ²¡æåæ³å°åéåä½å形轴ä¸çç¹å®ç¹âæ å°âå°å
³é®å bold ï¼æä»»ä½å
¶ä»å
³é®åï¼ãè¿é常å¯ä»¥å¾å®¹æå°è§£å³ï¼ä½å¨ç¼å CSS æ¶éè¦é¢å¤çæ¥éª¤ï¼
font-weight: 375;
font-variation-settings: "wght" 375;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨åéå¼ã
å宽
å宽ï¼ç± wdth æ ç¾è¡¨ç¤ºï¼å®ä¹åå½¢å¯ä»¥æ¯å¤çªæå¤å®½ï¼å°å·æ¯è¯ä¸ç§°ä¸ºåç¼©ææ©å±ï¼ç设计轴ãè¿éå¸¸å¨ CSS ä¸éè¿ä½¿ç¨ font-stretch 屿§è®¾ç½®ï¼è¯¥å±æ§å¼è¡¨ç¤ºä¸ºé«äºæä½äºâæ£å¸¸âçç¾åæ¯ï¼100ï¼
ï¼ï¼ä»»ä½å¤§äº 0 çæ°å卿æ¯ä¸é½æ¯ææç - 尽管å®çèå´æ´æå¯è½æ¯æ¥è¿ 100ï¼
çï¼ä¾å¦ 75ï¼
-125ï¼
ã妿æä¾çæ°åå¼è¶
åºäºåä½ç¼ç çèå´ï¼æµè§å¨åºè¯¥ä»¥å
è®¸çææ¥è¿å¼æ¸²æåä½ã
夿³¨ï¼å¨ä½¿ç¨ font-variation-settings æ¶ä¸éè¦ä½¿ç¨%ã
font-stretch: 115%;
font-variation-settings: "wdth" 115;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨å宽å¼ã
æä½
Italicï¼italï¼è½´ç工使¹å¼ä¸åï¼å 为å®ä»
å¯ä»¥æå¼æå
³é; èæ²¡æä¸é´å¼ãæä½è®¾è®¡é常å
æ¬ä¸å
¶æ£ä½æªç¶ä¸åçåå½¢ï¼å æ¤å¨ä»æ£ä½å°æä½çè¿æ¸¡ä¸ï¼é常ä¼åç许å¤åå½¢ï¼æåç¬¦ï¼æ¿æ¢ãItalic å oblique é常å¯ä»¥äºæ¢ä½¿ç¨ï¼ä½äºå®ä¸å®é
䏿¯å®å
¨ä¸åçãå¨è¿ç§æ
åµä¸ï¼Oblique å®ä¹ä¸ºæ¯è¯ slant ï¼åè§ä¸é¢çé¨åï¼ï¼å¹¶ä¸åä½é常å
·æä¸ä¸ªæå¦ä¸ä¸ªæä½ï¼ä½ä¸æ¯ä¸¤è
齿ã
å¨ CSS ä¸ï¼ä½¿ç¨ font-style 屿§å¯¹ææ¬åºç¨ italic å obliqueã
font-style: italic;
font-variation-settings: "ital" 1;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨æä½å¼ã
徿
Slantï¼ç± slnt æ ç¾è¡¨ç¤ºï¼ï¼æè
å®ç»å¸¸è¢«ç§°ä¸ºâobliqueâ - ä¸çæ£çæä½ä¸åä¹å¤å¨äºå®æ¹åäºåä½çè§åº¦ä½ä¸æ§è¡ä»»ä½ç±»åçåç¬¦æ¿æ¢ãå®ä¹æ¯å¯åçï¼å 为å®è¡¨ç¤ºä¸ºæ°å¼èå´ãè¿å
许å使²¿è¯¥è½´çä»»ä½ä½ç½®ååãå
许çèå´é常为 0ï¼ç´ç«ï¼å° 20 度 â å¯ä»¥ä½¿ç¨è¯¥èå´å
ç任使°å¼ï¼å æ¤åä½å¯ä»¥å¾æä¸ç¹ç¹ã使¯ï¼-90-90 度çä»»ä½å¼é½æ¯ææçã
夿³¨ï¼å¨ä½¿ç¨ font-variation-settings æ¶ä¸éè¦ä½¿ç¨ deg è¿ä¸ªå
³é®åã
font-style: oblique 14deg;
font-variation-settings: "slnt" 14;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨ slant/oblique å¼ã
è§è§å°ºå¯¸ï¼Optical sizesï¼
è¿æ¯æ°ååä½å CSS çæ°åè½ï¼ä½å ¶å®å¯¹åºäºè®¾è®¡å å·¥é屿´»åä¸çä¸é¡¹å¤èæèºãè§è§å°ºå¯¸æ¯æåºäºç©ç尺寸æ¹ååå½¢çæ´ä½ç¬ç»å度çåæ³ãå¦æå°ºå¯¸é常å°ï¼ä¾å¦çäº 10 æ 12pxï¼ï¼åå符å°å ·ææ´ä½è¾ç²çç¬ç»ï¼å¯è½è¿ä¼è¿è¡å ¶ä»å°çä¿®æ¹ï¼ä»¥ç¡®ä¿ä»¥è¾å°çç©ç尺寸å¤å¶åå¯è¯»æ§ãç¸åï¼å½ä½¿ç¨æ´å¤§å°ºå¯¸ï¼å¦ 48 æ 60pxï¼æ¶ï¼ç¬ç»çç²ç»ééå¯è½ä¼ææ´å¤§çååï¼å¤è§ä¼æ´æ¥è¿åå§è®¾è®¡æå¾ã
è½ç¶è¿æ ·åæåæ¯ä¸ºäºå¨æ²¹å¢¨åçº¸å¼ å°å·è¿ç¨ä¸æä¾è¡¥å¿ï¼å°å°ºå¯¸é åä¸é常ç»ç线ä¼å¾é¾å°ä¸ï¼å¯¼è´åå½¢å¤è§æ®æï¼ï¼ä½ç°å¨å®å¾å¥½å°è½¬åä¸ºå¨æ°åæ¾ç¤ºä¸å¯¹å±å¹è´¨éåç©ç尺寸渲æçè¡¥å¿ã
å
å¦å°ºå¯¸å¼é常æ¨å¨æ ¹æ® font-sizeèªå¨åºç¨ï¼ä½ä¹å¯ä»¥ä½¿ç¨è¾ä½çº§å«ç font-variation-settings è¯æ³è¿è¡æä½ã
å建äºä¸ä¸ªå¨ CSS ä¸ä¸æ¯æå¯ååä½çæ°å±æ§ font-optical-sizing ãä½¿ç¨ font-optical-sizing æ¶ï¼å¯ä¸å
许ç弿¯ auto æ none - å æ¤è¯¥å±æ§ä»
å
许æå¼æå
³éå
å¦å°ºå¯¸ã使¯ï¼å½ä½¿ç¨ font-variation-settings: 'opsz' <num>æ¶ï¼ä½ å¯ä»¥ä½¿ç¨æ°å¼ãå¨å¤§å¤æ°æ
åµä¸ï¼ä½ å¯è½å¸æå° font-sizeï¼æ£å¨æ¸²æçç±»åçç©ç大å°ï¼ä¸ opsz å¼ï¼ä½¿ç¨ autoæ¶åºç¨å
å¦å°ºå¯¸çæ¹å¼ï¼è¿è¡å¹é
ãæä¾äºç¹å®å¼ï¼ä»¥ä¾¿å¨å¿
è¦æ¶ï¼ä¸ºäºæè®¤æ§ï¼ç¾è§æå
¶ä»åå ï¼å¯ä»¥åºç¨ç¹å®å¼æ¥è¦çé»è®¤å¼ã
font-optical-sizing: auto;
font-variation-settings: "opsz" 36;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨è§è§å°ºå¯¸å¼ã
èªå®ä¹è½´
èªå®ä¹è½´å¯ä»¥æ¯åä½è®¾è®¡å¸æ³è±¡çä»»ä½è®¾è®¡ååè½´ãå¯è½æä¸äºä¼åå¾ç¸å½æ®éï¼çè³æ¼åææ³¨åè½´ã
Grade
ç±äºå¨åä½è®¾è®¡æ¹é¢æç伿å¨ç¥çåå²ï¼ç级å¯è½ä¼æä¸ºæ´å¸¸è§çèªå®ä¹è½´ä¹ä¸ã设计ä¸åç级çåä½éå¸¸æ¯æ ¹æ®é¢æçç¨éåå°å·ææ¯æ¥è¿è¡çã âç级âä¸è¯æçæ¯åä½è®¾è®¡çç¸å¯¹ééæå¯åº¦ï¼ä½ä¸ä¼ ç»çâééâä¸åä¹å¤å¨äºææ¬å æ®çç©ç空é´ä¸ä¼æ¹åï¼å æ¤æ¹åææ¬ç级并ä¸ä¼æ¹åææ¬æå ¶å¨å´å ç´ çæ´ä½å¸å±ãè¿ä½¿å¾ç级æä¸ºæç¨çååè½´ï¼å 为å®å¯ä»¥ååæå¨ç»èä¸ä¼å¼èµ·ææ¬æ¬èº«çåæµã
font-variation-settings: "GRAD" 88;
å¯ä»¥éè¿ç¼è¾ä¸é¢å®ä¾ç CSS æ¥ä½¿ç¨åä½ç级å¼ã
使ç¨å¯ååä½ï¼æ¹å @font-face
å è½½å¯ååä½çè¯æ³ä¸å
¶ä» web åä½é常ç¸ä¼¼ï¼ä½æä¸äºæ¾èçå·®å¼ï¼è¿äºå·®å¼æ¯éè¿å¯¹ç°ä»£æµè§å¨ä¸å¯ç¨çä¼ ç»@font-faceè¯æ³çå级æä¾çã
åºæ¬è¯æ³æ¯ç¸åçï¼ä½æ¯åä½ææ¯æ¯ä¸ä¸æ ·çï¼å¹¶ä¸å¯ååä½å¯ä»¥æä¾å对 font-weight å font-stretch çæè¿°ç¬¦çå
许èå´ï¼è䏿¯æ ¹æ®å è½½çå使件æ¥å½åã
@font-face {
font-family: "MyVariableFontName";
src: "path/to/font/file/myvariablefont.woff2" format("woff2-variations");
font-weight: 125 950;
font-stretch: 75% 125%;
}
夿³¨ï¼å¹¶éæææµè§å¨é½å®ç°äºå使 ¼å¼ç宿´è¯æ³ï¼å æ¤è¯·ä»ç»æµè¯ãå¦æä½ å°å使 ¼å¼è®¾ç½®ä¸ºä»
æä»¶æ ¼å¼ï¼è䏿¯æ ¼å¼åä½ï¼å³ woff2 è䏿¯ woff2-variationsï¼ï¼é£ä¹æ¯æå¯ååä½çæææµè§å¨ä»å°æ¸²æå®ä»¬ï¼ä½å¦æå¯è½ï¼æå¥½ä½¿ç¨æ£ç¡®çè¯æ³ã
夿³¨ï¼å¦æä½¿ç¨éå½ç屿§ï¼å³ font-weightæ font-stretchï¼ï¼æä¾ font-weightï¼ font-stretchå font-styleçå¼èå´å°ä½¿æµè§å¨ä¸ä¼å°è¯æ¸²æè¶
åºè¯¥èå´çè½´ï¼ä½ä¸ä¼é»æ¢ä½ éè¿ font-variation-settings ä½¿ç¨æ æå¼ï¼å æ¤è¯·å°å¿ä½¿ç¨ã
ä½¿ç¨æ§çæ¬æµè§å¨
å¯ä»¥ä½¿ç¨ CSS ç¹æ§æ¥è¯¢æ£æ¥æ¯å¦æ¯æå¯ååä½ï¼è¯·åé
@supportsï¼ï¼å æ¤å¨ç产ä¸ï¼å¯ä»¥å¨ç¹æ§æ¥è¯¢åå
使ç¨å¯ååä½ã
h1 {
font-family: some-non-variable-font-family;
}
@supports (font-variation-settings: "wdth" 115) {
h1 {
font-family: some-variable-font-family;
}
}
示ä¾é¡µé¢
以ä¸ç¤ºä¾é¡µé¢å±ç¤ºäºæé CSS ç两ç§ä¸åæ¹æ³ã第ä¸ç§æ¹æ³å°½å¯è½ä½¿ç¨æ å屿§ã第äºä¸ªç¤ºä¾ä½¿ç¨ CSS èªå®ä¹å±æ§è®¾ç½® font-variation-settings å符串çå¼ï¼å¹¶å±ç¤ºå¦ä½éè¿è¦çå个åéè䏿¯éåæ´ä¸ªåç¬¦ä¸²æ¥æ´è½»æ¾å°æ´æ°å个åéå¼ã请注æ h2ä¸çæ¬åææï¼å®åªä¼æ¹åç级轴èªå®ä¹å±æ§å¼ã
èµæº
- W3C CSS Fonts Module 4 Specification (editorâs draft)
- W3C Github issue queue
- Microsoft Open Type Variations introduction
- Microsoft OpenType Design-Variation Axis Tag Registry
- Wakamai Fondue ï¼éè¿ç®åçææ½åè¯ä½ åä½å¯ä»¥åä»ä¹çç½ç«ï¼
- Axis Praxis ï¼ç¬åçå¯åå使çè¯éªç½ç«ï¼
- V-Fonts.com ï¼å¯ååä½ç®å½ç½ç«ï¼
- Font Playground ï¼å¦ä¸ä¸ªæ¥æç¬ç¹ç¨æ·çé¢çå¯åå使çè¯éªç½ç«ï¼