如何在网页中解决设计师留给你的字体问题?

文章来源:http://www.zretc.com/technologyDetail/429.html

在一些推广活动项目的页面中,设计师可能会需要用到许多好看的字体,例如:方正综艺.ttf、方正兰亭、 方正喵呜.ttf等(此处省略N个字体)。

当设计师使用这些特殊字体的时候,前端攻城狮同学们往往因为这些字体“太有个性”而烦恼。今天小卓为大家分享一些经验,实用又经典,希望能对童鞋们的工作有所帮助!

  • 方法一:切图法
  • 方法二:Font-spider介绍及使用
  • Font-spider自动化构建工具gulp介绍及使用

步入正题:

应对设计师的"字体”难题,有两种解决方式可供同学们挑选,方式一是我们熟知常用的切图法,方法二是今日文章重点介绍的Font-spider。

方法一:切图法

大多数的活动页面采用的方式是将字体储存为单个的小图片,这种方式简单粗暴。

有关切图方式的优缺点,想必大家都与小卓有相同的感受。切图方式简单易用,效果与设计图完全一致。然而,它也有很多缺点,例如:如果只有几张图片的话,切图方式简单而且效率较高,但如果有几十张几百张的图片拿来运用的话...不论是切图或者后期的修改都是噩梦。

方法二:Font-spider

什么是Font-spider:

字蛛通过分析本地 CSS 与 HTML 文件获取 WebFont 中没有使用的字符,并将这些字符数据从字体中删除以实现压缩,同时生成跨浏览器使用的格式。

中文字体动辄10M+的大小,使我们无法直接引用字体文件。通俗地讲,font-spider,就是将HTML里使用到的文字,单独打包成一个新的字体文件。那么,究竟该如何具体操作呢?且看以下讲解。

如何使用Font-spider

第一步:安装font-spider

使用Node.js安装font-spider:

npm install font-spider -g

(注:Node.js下载地址:https://nodejs.org/en/)

第二步:在项目中使用webfond

项目目录:

在HTML里引入font.css

声明一个新的字体,我们把它命名为”FZ”。

第三部:运行运行 font-spider 命令:

font-spider demo.html

我们可以发现页面依赖的字体将会自动压缩好,将1986KB的字体文件压缩成几KB的新字体,而且会根据不同浏览器的兼容性打包成不同类型的文件。

原字体会也会备份,我们看一下生成后的目录结构:

压缩后出现4个字体文件,我们在CSS中已经引入。而我们的原文件会备份到.font-spider这个目录下。

执行后的效果:

如何使用自动化构建工具gulp实时自动编译?

在真实的开发中,我们肯定不想每次保存代码后都去命令行输入font-spider命令去编译,这个时候就需要依靠自动化构建工具去做实时编译。

这里我们推荐使用gulp(因为上手很简单)。

第一步:安装gulp

没有安装过gulp的同学,使用NPM在全局下安装Gulp。

npm install --global gulp

在项目根目录下,将gulp、gulp-font-spider、gulp-watch作为项目开发依赖(devDependencies)安装:

npm install gulp gulp-font-spider --save-dev

(注①:gulp-font-spider是font-spider基于gulp的插件)

(注②:gulp-watch可以监听文件的保存)

第二步:配置gulp

在项目根目录下创建gulpfile.js文件。

1.引入gulp、gulp-font-spider、gulp-watch这三个项目开发依赖。

2.配置gulp-font-spider、和gulp-watch监听demo.html从而自动执行font-spider。

此时的项目目录结构:

第三步:执行gulp命令

此时我们将H1标签的内容改为“我在正在使用Gulp!”并保存。

返回命令行工具,我们会发现gulp已经帮我们自动执行了font-spider。

看一下效果:

更多精彩内容请进入技术知识库!

时间: 2024-08-02 13:47:03

如何在网页中解决设计师留给你的字体问题?的相关文章

抓取网页中的内容、如何解决乱码问题、如何解决登录问题以及对所采集的数据进行处理显示的过程

本文主要介绍如何抓取网页中的内容.如何解决乱码问题.如何解决登录问题以及对所采集的数据进行处理显示的过程.效果如下所示: 1.下载网页并加载至HtmlAgilityPack 这里主要用WebClient类的DownloadString方法和HtmlAgilityPack中HtmlDocument类LoadHtml方法来实现.主要代码如下. var url = page == 1 ? "http://www.cnblogs.com/" : "http://www.cnblogs

关于网页中图片为中文名无法显示的解决办法

转载:http://lofei117.iteye.com/blog/1074182 网页中很多时候要用到图片,通过img标签或者滤镜来显示在页面上.而当文件名为中文名时会遇到图片无法正确加载,导致无法显示. 解决办法如下: 1:改变服务器的配置,使服务器支持utf-8来显示图片.这个经过测试是有效的,但是有一点是服务器配置修改了以后,再使用request来获取参数时,中文乱码的问题.通过System.out.print来打印出来的参数是正确的,但是赋值给String对象后却不是正确的值,再通过S

BASE64编码的图片在网页中的显示问题的解决

BASE64编码的图片在网页中的显示问题的解决 关于图片的Base64编码,你了解吗?

如何解决AngularJS在网页中换行的问题

我们经常会遇到想要在网页中的文本进行换行的问题,普通的js加个<br/>就行,但是AngularJS却不能显示,所以针对AngularJS我的解决方法如下: JS代码: $scope.trustAsHtml = $sce.trustAsHtml; $scope.text="hello<br/>xiaomi"; HTML代码: <div ng-model="text" ng-bind-html="trustAsHtml(text

在网页中使用js以及问题和解决方法

<script>标签的解析<script>xxx</script>这组标签,是用于在 html 页面中插入 js 的主要方法.它主要有以下几个属性:1.charset:可选.表示通过 src 属性指定的字符集.由于大多数浏览器忽略它,所以很少有人用它.2.defer:可选.表示脚本可以延迟到文档完全被解析和显示之后再执行.由于大多数浏览器不支持,故很少用.可以将JS代码放在html内容的后面,这样可实现延时加载3.language:已废弃.原来用于代码使用的脚本语言.由

在网页中打开word和excel文件时提示文件已损坏,无法打开的解决办法

系统环境:安装win10的PC机,办公软件安装有office2013.问题描述:在使用华天动力OA过程中,部分审批表单的附件中有word或excel文件,如果点击word或excel文件,点击"打开",会弹出提示"文件已损坏,无法打开"的提示,选择保存后,再到保存的位置打开则能正常打开文件.问题分析:既然保存后可以正常打开文件,可以判定网页中上传的office附件是没有问题的,问题有可能是网页安全设置或office的安全设置问题.在将浏览器重置后,问题依旧,基本上可

使用Jsoup解决网页中图片链接问题

在做Facebook和WhatsApp分享的时候,分享出去的谷歌短链,Facebook获取不到大图,和竞品展示的不一样,WhatsApp分享出去的短链没有图片和描述. WhatsApp: 分析竞品UCNews,发现他们分享出去的WhatsApp链接指向的网页,在meat标签中添加了相关的属性,然后在自己的站中加入相关标签,问题解决. <meta property="og:image" content="http://img.masala-sg.goldenmob.com

在网页中,rem与px的换算

rem 是指相对于根元素的字体大小的单位.简单的说它就是一个相对单位. 为什么web app要使用rem? 1.实现强大的屏幕适配布局: iphone6一下出了两款尺寸的手机,导致的移动端的屏幕种类更加的混乱,记得一两年前做web app有一种做法是以320宽度为标准去做适配,超过320的大小还是以320的规格去展示,这种实现方式以淘宝web app为代表作,但是近期手机淘宝首页进行了改版,采用了rem这个单位,首页以内依旧是和以前一样各种混乱,有定死宽度的页面,也有那种流式布局的页面. 我们现

利用CSS的@font-face属性 在网页中嵌入字体

字体使用是网页设计中不可或缺的一部分.网页是文字的载体,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计. 美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷: 一.不可能大范围的使用该字体: 二.图片内容相对使用文字不易修改: 三.不利于网站SEO. 网络上有一些使用sIFR技术.或javascript/flash hack的方法,但实现起来或繁琐,或有缺陷.下面要讲的是如何只通过CSS的@font-fac