在@font-face
字体声明中,许多Web设计人员针对同一字体系列使用不同的unicode-range
段。
此描述符[
unicode-range
]的目的是允许对字体资源进行分段,以便浏览器只需要下载特定页面的文本内容所需的字体资源。
他们做这样的事情
/* vietnamese */
@font-face {
font-family: 'Nunito';
font-style: normal;
font-weight: 400;
src: local('Nunito Regular'), local('Nunito-Regular'), url("fonts/XRXV3I6Li01BKofIOuaBXso.woff2") format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
font-display: fallback;
}
/* latin */
@font-face {
font-family: 'Nunito';
font-style: normal;
font-weight: 400;
src: local('Nunito Regular'), local('Nunito-Regular'), url("fonts/XRXV3I6Li01BKofINeaB.woff2") format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
font-display: fallback;
}
并且确实有效,因为浏览器仅下载所需的内容(我在Google Dev Console的network
标签上进行了测试)。
尽管W3C CSS验证程序会抛出此警告:
Redefinition of “font-family”
是否有避免警告的方法?