‘壹’ CSS中调用自定义字体,当用户浏览的时候浏览器会下载整个字体文件吗
不会,浏览器显示的字体都是用户系统里的,除非用户特地针对你网页的字体自行去下载
‘贰’ css中网络字体会被浏览器一起缓存吗
当然会缓存,否则网页一刷新就从网上再次下载字体,速度快慢且不说,如果是手机上用流量浏览网页,那可每秒钟都是钱啊!而且css中所用到的资源(比如背景图片)浏览器都会积极缓存的,有些手机端的浏览器甚至会24小时后才刷新缓存的数据,也就是说,网页css中的图片如果修改了,要等到一天后才会反映在用户的浏览器上(除非他在此之前清理了缓存)!
‘叁’ css中引入字体文件ttf或者woff的时候后面带餐是怎么实现的
这是个随机字串,如果没有这个,那么浏览器每次都会从缓存中读取字体文件(除非网页是首次运行);而如果有了这个字串,浏览器就会认为这是个新的url,就会重新从网上下载这个字体文件而不是从缓存中读取;当然,如果下下次这个字串没有变化,那么浏览器仍然会从缓存中去读取的。
所以这种技术通常用于网页
数据文件
的版本有变化时可以让浏览器立刻使用新版本的内容及代码,比如说js文件和css文件,修改后再上传到网站,用户在网页上是不会立刻看到修改后的效果的,必须等
浏览器缓存
的生命周期到期(或者让用户手动清理缓存)后才会更新,遇到这种情况,网页设计者就可以在文件名的后面加个问号再加个随机的字符串,用户只要一刷新网页就可以立刻看到新效果了。
不过像字体文件这种通常都是没什么变化的,所以并不适合用这种更新技术,尽量让浏览器直接从缓存中读取即可,这样可以加快网页的加载速度,提高效率。也就是说你把问号以及后面的一大串字符都删掉也是没问题的。
至于如何实现,你可以利用前端或后台脚本来生成随机字符串并拼接到文件路径的后面(用问号分隔)来实现这种效果。
‘肆’ CSS加载服务器上的字体太慢、能不能在字体加载未完成之前显示默认宋体
CSS加载服务器上的字体太慢是设置错误造成的,解决方法为:
1、新建文件创建p标签,设置字体加粗。
‘伍’ css3如何预加载字体
之前如果想在自己的网站使用某些好看的字体,总是迫不得已得在PS里先把字体图片做好。虽然这样做也能达到我们想要的效果,但是这样就增加了HTTP请求(如果在多处使用的话),即使合并所有图片,也不好管理,灵活性不高,哪一天想换种更好看的字体,那工作量,想想都没劲!幸好CSS3新增了@font-face模块,可以帮助我们轻松解决Web页面中使用优雅字体的方式,而且我们可以根据需要自定义多种字体,但是每个@font-face只能定义一种,若需要多个字体就启用多个@font-face规则。
@font-face 主要就是把自己想要的,或者自己定义的Web字体嵌入到Web页面中,然后这些字体就会被放置在服务器上,浏览器会根据指定的命令将对应的字体下载到本地缓存,使用它来修饰文本。也就是我们所说的Web字体嵌入。
@font-face 语法:
font-family : 其属性值指定的是自定义的字体名称,最好就是直接使用下载字体的默认文件名,然后需要将它引用到元素的font-family中。虽然自定义了自己想要的字体,但是也得在元素中使用它才有效果。【必选属性】
src : 其属性值指定自定义字体的存放路径,可以是相对路径或者绝对路径。format()指定的是自定义的字体格式,主要用来帮助浏览器识别,主要有:truetype,opentype,truetype-aat,svg,embedded-opentype等类型。【必选属性】
font-weight 和 font-style :分别用来指定字体是否加粗和定义字体样式。当然还可以设置font-size等字体属性。【可选属性】
‘陆’ CSS需要被刷新才能加载,我需要实际的解决方式
首先这个是当然的,css文件是样式文件,不在服务器执行,也不像ajax那样可以异步执行,所以你改了css样式是必须要刷新才能看到的。其次,浏览器解析代码都是从上到下的顺序,写在前面的先解析。最后,如果是你的css不能加载进来,那有可能是缓存问题
‘柒’ CSS如何使用自定义字体文件
是@font-face,语法如下:
@font-face{
[font-family:<family-name>;]||
[src:[<url>[format(<string>#)]?|<font-face-name>]#;]||
[unicode-range:<urange>#;]||
[font-variant:<font-variant>;]||
[font-feature-settings:normal|<feature-tag-value>#;]||
[font-variation-settings:normal|[<string><number>]#||
[font-stretch:<font-stretch>;]||
[font-weight:<weight>;]||
[font-style:<style>;]
}
<family-name> 就是家族体系名称,例如sans-serif无衬线字体。
取值
font-family这里指定的字体名字将会被用于font或font-family属性,在元素的使用字体的字体名称就是这里设定的。
src远程字体文件位置的URL或者用户计算机上的字体名称,可以使用local语法通过名称指定用户的本地计算机上的字体( 例如src: local('Arial'); )。 如果找不到该字体,将会尝试其他来源,直到找到它。
font-variant字态
font-stretch字体描边.
font-weight字重
font-style对于src所指字体的描述。如果所需字体符合描述,则采用本font-face所定义的字体。
unicode-range在该@font-face中定义的unicode字体范围
例子:用到了用户本地字体"Helvetica Neue Bold"的备份;如果当前用户(浏览器)未安装该字体(两种可能的字体名都已经试过),就会用下载的字体"MgOpenModernaBold.ttf"来代替:
@font-face{
font-family:MyHelvetica;
src:local("HelveticaNeueBold"),local("HelveticaNeue-Bold"),url(MgOpenModernaBold.ttf);
font-weight:bold;
}
‘捌’ 小白求教本地html调用服务器css和字体
调用服务器css,直接将link的地址改为线上即可
<link rel="stylesheet" href="http://线上域名/index.min.css" />
关于字体也调用线上
@font-face { font-family : name ; src : url( url ) ; sRules }
参数说明:
name : 字体名称
url : 使用绝对或相对地址指定OpenType字体
sRules : 样式表定义
但是字体大小文件为1M以上的,用线上地址,会对网络要求比较高;
会出现页面已加载完毕,字体还未获取到,引起页面卡顿现象,所以一般字体不用远程的。直接使用通用“宋体”、"华文琥珀"、“微软雅黑”
---------------------------------------------
以上,希望能对你有所帮助!
‘玖’ css 怎么调用外部字体。。
css调用外部字体步骤如下:
1. 建一个文件夹,把字体文件ttf、otf等放到文件夹内,然后创建一个html文件,命名为test
‘拾’ 谷歌浏览器使用了css3的@font-face,客户端第一次访问网页时字体文件缓存在哪里了
C:DocumentsandSettings******
另外一个方法直接找到字体下载地址,如果是window系统按F12 打开开发人员模式, 点resources 然后左边的点开就找到了网站所加载的所有资源了,点右键复制链接地址 用迅雷啥下载就可以了