css:网页引入网络字体@font-face
- <style >
- /* 引入字体 */
- @font-face {
- font-family: "站酷高端黑 Regular";
- font-weight: 400;src: url("//at.alicdn.com/wf/webfont/CMLt9HVp5N87/tbHddmDWiU1GEuhi4nhKp.woff2") format("woff2"),
- url("//at.alicdn.com/wf/webfont/CMLt9HVp5N87/WGIJOcs-yNAu59k-p4jVL.woff") format("woff");
- font-display: swap;
- }
-
- /* 使用字体 */
- .box{
- font-family: "站酷高端黑 Regular";
- }
- </style>
-
font-display 有五种属性:
- auto:使用浏览器默认的行为;
- block:浏览器首先使用隐形文字替代页面上的文字,并等待字体加载完成再显示;
- swap:如果设定的字体还未可用,浏览器将首先使用备用字体显示,当设定的字体加载完成后替换备用字体;
- fallback:与 swap 属性值行为上大致相同,但浏览器会给设定的字体设定加载的时间限制,一旦加载所需的时长大于这个限制,设定的字体将不会替换备用字体进行显示。 Webkit 和 Firefox 中设定此时间为 3s;
- optional:使用此属性值时,如果设定的字体没有在限制时间内加载完成,当前页面将会一直使用备用字体,并且设定字体继续在后台进行加载,以便下一次浏览时可以直接使用设定的字体。
-
- async function loadFont(fontName, fontUrl) {
- const font = new FontFace(fontName, `url(${fontUrl})`)
- await font.load()
- document.fonts.add(font)
- }
-
文档:https://developer.mozilla.org/zh-CN/docs/Web/API/FontFace
Experimental: 这是一个实验中的功能