CSS font-display: swap 属性是用于指定字体是否在可用时立即使用,或者延迟加载的属性。
在使用 web 字体的时候,如果字体文件尚未下载而被页面需要时,浏览器会使用默认字体代替,这可能会给用户带来不必要的糟糕体验,尤其在低网速或者高请求量下。CSS font-display: swap 属性可以帮助开发者避免这种问题。
font-display 属性有以下几个值:
- auto:浏览器自动选择,默认行为是 "auto"。
- block:不显示文本直到字体加载完成。
- swap:渲染文本,但尽快使用下载的字体。
- fallback:显示无衬线字体,然后在下载 web 字体之后再渲染。
- optional:与 swap 类似,但是当字体下载的时间超过了一定时间时,浏览器会放弃下载该字体。
使用示例:
@font-face {
font-family: "Open Sans";
font-style: normal;
font-weight: 400;
src: url("/fonts/OpenSans-Regular.ttf") format("truetype");
font-display: swap;
}
在上面的例子中,我们给字体加上了 font-display: swap 属性,这意味着浏览器会渲染文本,但尽快使用下载的字体,而不是等待字体下载完成后再显示文本。
总的来说,CSS font-display: swap 属性可使页面在字体下载过程中更加清晰、更快速地呈现文本内容,有效提高用户体验。