• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > 浅谈CSS字体的加载加速问题

浅谈CSS字体的加载加速问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,字体,加载等相关知识,佚名 希望在学习及工作中可以帮助到您

除了各种特定字体系列外(如 Times、Verdana、Helvetica 或 Arial),CSS定义了 5 种通用字体系列:

Serif 字体
    这些字体成比例,而且有上下短线。如果字体中的所有字符根据其不同大小有不同的宽度,则成该字符是成比例的。例如,小写 i 和小写 m 的宽度就不同。上下短线是每个字符笔划末端的装饰,比如小写 l 顶部和底部的短线,或大写 A 两条腿底部的短线。Serif 字体的例子包括 Times、Georgia 和 New Century Schoolbook。
Sans-serif 字体
    这些字体是成比例的,而且没有上下短线。Sans-serif 字体的例子包括 Helvetica、Geneva、Verdana、Arial 或 Univers。
Monospace 字体
    Monospace 字体并不是成比例的。它们通常用于模拟打字机打出的文本、老式点阵打印机的输出,甚至更老式的视频显示终端。采用这些字体,每个字符的宽度都必须完全相同,所以小写的 i 和小写的 m 有相同的宽度。这些字体可能有上下短线,也可能没有。如果一个字体的字符宽度完全相同,则归类为 Monospace 字体,而不论是否有上下短线。Monospace 字体的例子包括 Courier、Courier New 和 Andale Mono。
Cursive 字体
    这些字体试图模仿人的手写体。通常,它们主要由曲线和 Serif 字体中没有的笔划装饰组成。例如,大写 A 再其左腿底部可能有一个小弯,或者完全由花体部分和小的弯曲部分组成。Cursive 字体的例子包括 Zapf Chancery、Author 和 Comic Sans。
Fantasy 字体
    这些字体无法用任何特征来定义,只有一点是确定的,那就是我们无法很容易地将其规划到任何一种其他的字体系列当中。这样的字体包括 Western、Woodblock 和 Klingon。

理论上讲,用户安装的任何字体系列都会落入到上述某种通用系列中,但实际上可能并非如此,不过例外情况(如果有的话)往往很少。

然而,似乎大多数网站使用非默认字体的这些天,但是谁能怪他们呢?系统字体都是很枯燥的,使用自定义字体能为一个网站增色不少。使用自定义字体所带来的问题就是,会延缓你站点的加载。字体文件比较大,可能需要单独的字体文件,粗体和斜体,并阻止渲染,如果开发商不解决它们。让我告诉你一个更快速加载的方法。
1. 把字体放在CDN上

为提高网站的速度,一个简单的解决方案是使用CDN,这对字体来说没有什么差别。重要的是要确保CDN有适当的CORS设置
 

如果CDN的CORS设置不正确的话,你会看到AJAX/跨域错误控制台。
2.使用非阻塞加载CSS
 
实质上是使用media=none让我们在浏览器下载样式表而不会阻塞渲染,所以当样式表加载,media设置其所需的设置就会呈现在屏幕
3.单独的字体选择器

如果字体使用时没有被加载完,用户将看到空白,直到字体加载。这,当然不是一件好事,如果字体加载失败。最起码,用户将会在空白的地方盯着几秒钟。最好是配合被添加到body的字体加载后声明自定义字体:
 

  1. h1 { font-family: Arial, serif; } /* 系统字体 */  
  2. .fontsloaded h1 { font-family:  'MySpecialFont', serif; } /* 自定义字体 */  
  3.     
  4. <link href="fonts.css" onload="document.body.className+=' fontsloaded';" rel="stylesheet" type="text/css" >  

通过使用字体声明以上策略,系统加载字体最初只有在自定义加载字体将被启用,因此屏幕不会显示任何一段时间空内容。我建议创建一个Stylus/Sass/Less的混合设置字体设置,自定义选择器自动设置。

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06html+css+div实现电影结束效果
  • 2017-08-06设置网站二级导航及把二级导航做的好看
  • 2017-08-06CSS进阶指引
  • 2017-08-06css background 背景图的设置方法
  • 2017-08-06css3气泡 css3关键帧动画创建的动态通知气泡
  • 2017-08-06CSS 优先级使用技巧
  • 2017-08-06举例详解CSS中的继承
  • 2017-05-30CSS 异步加载技术 不影响页面渲染
  • 2017-08-06CSS clip元素rect属性中各个参数的含义示例介绍
  • 2017-08-06CSS 半透明度设置归纳总结[Firefox,IE,Chrome,Safari]

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 让IE6/IE7支持display:inline-block属性的两种方法
    • 让横向排列的几个浮动(float:left)的子div居中显示
    • css中padding和margin的异同点介绍
    • 同级情况下CSS的优先级探讨
    • CSS3中的@keyframes关键帧动画的选择器绑定
    • IE中css样式设置height无效的解决方法
    • 让IE也支持margin居中告别text-align:center
    • 浅谈css3中的前缀
    • Hack 只针对IE的写法
    • 一款利用html5和css3实现的3D滚动特效的教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有