首页 > 其他分享 >font-display 文本在网页字体加载期间保持可见状态

font-display 文本在网页字体加载期间保持可见状态

时间:2023-04-19 16:33:05浏览次数:36  
标签:font 自定义 字体 文本 display CSS 加载

为确保文本在网页字体加载期间保持可见状态,可以考虑以下几种方法: 1.使用系统默认字体或web-safe字体:这些字体通常是已经在大多数操作系统和浏览器中安装和加载的,因此在页面加载期间可以立即呈现。这样,即使自定义字体尚未加载,文本也将始终可见。 2.通过CSS实现字体预加载:可以在CSS中使用@font-face规则来加载自定义字体。通过在页面加载之前预加载字体,可以确保在文本加载之前字体已经被下载到本地。这样可以避免在文本加载期间出现任何延迟。 3.使用“font-display”属性:在CSS中,可以使用“font-display”属性来控制字体的显示方式。此属性可以设置为“swap”、“fallback”、“optional”或“block”等值。其中,“swap”值表示使用系统默认字体或web-safe字体来立即呈现文本,而自定义字体仍在后台下载。一旦字体下载完成,文本将立即显示使用自定义字体。这样,即使自定义字体尚未完全加载,文本也始终可见。 4.避免在加载期间阻止渲染:确保页面中的CSS和JavaScript代码不会在加载期间阻止文本的呈现。可以通过将CSS代码放在<head>标记中,将JavaScript代码放在文档底部,或使用defer或async属性来延迟代码执行,来避免此问题。

  

@font-face { font-family: "Open Sans Regular"; font-weight: 400; font-style: normal; src: url("fonts/OpenSans-Regular-BasicLatin.woff2") format("woff2"); font-display: swap; }

  

标签:font,自定义,字体,文本,display,CSS,加载
From: https://www.cnblogs.com/louqianzhu/p/17333771.html

相关文章

  • Java SpringBoot 加载 yml 配置文件中字典项
    将字典数据,配置在yml文件中,通过加载yml将数据加载到Map中SpringBoot中yml配置、引用其它yml中的配置。#在配置文件目录(如:resources)下新建application-xxx必须以application开头的yml文件,多个文件用","号分隔,不能换行项目结构文件application.ymlserver:po......
  • [nacos]JAR启动并加载/解析Nacos yml格式的配置文件时,报“java.nio.charset.Malformed
    1问题描述原因1:字符集不匹配nacos中配置文件的字符集为A,应用程序的读取配置文件时使用了字符集B,导致使用字符集B解码文件二进制流时字符解码失败。一般问题出在中文注释上原因2:(yml文件)配置格式有误2解决思路2.1原因1:字符集不匹配时方法[1]删除nacos配置文件中......
  • 影响页面首屏加载时间的因素
    项目增加后,首屏加载就会出现白屏的问题,一般首屏加载时间最好在2秒以内,才能不影响使用体验下面介绍下主要影响因素和解决办法:一、网络问题:1)可能是由于网络厂商和服务器性能决定2)请求太多,由于浏览器并行请求在8个以下,超出的只能排队等待,所以如果请求太多,不仅增加了网络T......
  • pandas读取Excel核心源码剖析,面向过程仿openpyxl源码实现Excel数据加载
    今天我们将研究pandas如何使用openpyxl引擎读取xlsx格式的Excel的数据,并考虑以面向过程的形式简单的自己实现一下。截止目前本人所使用的pandas和openpyxl版本为:pandas:1.5.2openpyxl:3.0.10今天所有的测试全部基于以下文件:pandas的read_excel核心代码这里我使用pycharm工具对以下代......
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
    在新建项目时候遇到一个问题如上图,安装cnpm或者node都会报这个错误找了半天发现解决方法如下(操作如上图)1、打开终端2、在终端执行:get-ExecutionPolicy,显示Restricted(表示状态是禁止的)3、在终端执行:set-ExecutionPolicyRemoteSigned4、在终端执行:get-ExecutionPolicy,显示RemoteSig......
  • element-ui重载树列表(懒加载)
    在tree的:load方法中,将默认参数node,resolve两个参数存放到全局变量中;在对树节点进行操作后,对全局变量中的node.childNodes赋值为[空数组],最后重新调用tree的:load方法(参数为存放在全局的变量);代码如下:<el-treeref="tree2":props="props":load="loadNode"lazynode-key="l......
  • selenium爬取异步加载的网站
    为了便利化使用selenium驱动浏览器进行操作,遇到一个网页,大部分内容都是通过xhr请求后再通过前端js处理显示,带来的一个问题就是,采用显示等待无法准确的定位到需要的节点。因此,需要考虑采用判断xhr请求是否完成后再进行定位,或者直接获取xhr请求返回内容的做法。对于selenium爬虫来说,......
  • RequireJS 和 SeaJS 模块加载器
    RequireJS和SeaJS都是很不错的模块加载器,两者区别如下:1.两者定位有差异。RequireJS想成为浏览器端的模块加载器,同时也想成为Rhino/Node等环境的模块加载器。SeaJS则专注于Web浏览器端,同时通过Node扩展的方式可以很方便跑在Node服务器端2.两者遵循的标准有差异。Re......
  • LABjs异步加载组件
    加载外部js的方法大致有这么几种:方法说明XHREval     通过Ajax方式获取代码,并通过eval方式执行代码。XHRInjection     通过Ajax方式获取代码,并在页面上创建一个script元素,将Ajax取得的代码注入。ScriptinIframe      通过iframe加载js。Scr......
  • Mapboxgl Chrome75版本下发现问题:中文标签无法加载,由Canvas的measureText()方法导致
    很刁钻的问题,排查了好久。我自己开发测试用的浏览器(版本为112)运行正常,在老版本(75)谷歌浏览器报错如下:mapbox-gl.js:32UncaughtTypeError:Failedtoexecute'getImageData'on'CanvasRenderingContext2D':Valueisnotoftype'long'.atMp.TinySDF.draw(mapbox-gl.j......