• 在网站中引入特殊字体


    我的天~~这设计稿真好看!又有给自己加戏写效果的冲动咯。。。

    这都是些什么字体??说好的微软雅黑法大宋体呢。。 又是一场切图的恶战。。。这小图标这么多,切个雪碧图还要做分辨率、兼容性适应。。不划算啊。。

    所以这种时候就是特殊字体文件出场的时候了,特殊字体、字体图标解决问题。

    在网站中引入字体文件,考虑到兼容性,需要引入四中字体文件。分别是.eot,.woff,.ttf,.svg后缀的文件。

    字体文件大小由文件里包含的字段决定,因此英文特殊字体整体偏小,而中文特殊字体动不动就十来M。网页为了特殊字体而引入四十来兆的字体文件实在不理智。

    折中处理方法是:对于网站静态展示的可控的字用特殊字体,其他用微软雅黑和宋体。

    一、中文字体文件的压缩方法:

    fontspider 官网链接:http://font-spider.org/

    原理:选择性摘取字体文件中需要的文字,根据需要生成四种字体文件。

    操作方法:

    1、本地安装node.js 

    32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi

    64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi

    安装流程参考: http://www.runoob.com/nodejs/nodejs-install-setup.html

    2、安装fontspider

    输入:npm install font-spider -g

    反馈如下。

    3、特殊字体文件的生成

    创建一个项目,在html里放入所有需要的字段,设置他们的font-family。放入一个已经下好的特殊字体(只需一种即可,算源文件)。

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title></title>
    		<link href="css/style.css" rel="stylesheet" /> 
    	</head>
    	<body>
    		<p>猴赛雷</p>
    	</body>
    </html>
    

     font-face的src属性需要链四组对象,虽然现在只存在一个字体物理文件,在字蛛上执行后会根据此时的引用,生成需要的文件。

    @font-face{
         font-family: 'testfont'; 
           src: url('../font/testfont.eot');
      src:
        url('../font/testfont.eot?#font-spider') format('embedded-opentype'),
        url('../font/testfont.woff') format('woff'),
        url('../font/testfont.ttf') format('truetype'),
        url('../font/testfont.svg') format('svg');
        font-weight:normal;
        font-style:normal;
    }
    body{font-family: "testfont";}
    

    在node.js上运行font-sider命令

    font-spider ./路径/文件名.html

    例:font-spider D:/1前端学习代码/fontspider

    运行结束后即可在项目里找到生成的压缩版字体物理文件。

    至此,网页部分文字即可使用特殊字体

    二、在网站中使用字体图标

    推荐 字体图标库:阿里巴巴矢量图标库 http://www.iconfont.cn/

    将需要的字体图标加入到项目中后,可以生成需要的所有在线的字体文件。。超级方便有没有!

    字体图标的使用:

    css引入同理:

    @font-face {
      font-family: 'iconfont';  /* project id 248016 */
      src: url('//at.alicdn.com/t/font_ts727czvnig22o6r.eot');
      src: url('//at.alicdn.com/t/font_ts727czvnig22o6r.eot?#iefix') format('embedded-opentype'),
      url('//at.alicdn.com/t/font_ts727czvnig22o6r.woff') format('woff'),
      url('//at.alicdn.com/t/font_ts727czvnig22o6r.ttf') format('truetype'),
      url('//at.alicdn.com/t/font_ts727czvnig22o6r.svg#iconfont') format('svg');
    }
    .iconfont{font-family: "iconfont";-webkit-font-smoothing: antialiased;-moz-osx-font-smooth: grayscale;}

    1、可以在标签中使用:

    <i class="iconfont">&#xe629;</i> 值为生成的图标编码

    2、可以在伪类元素的content内容中写入,去掉&#x,加入转义符\,例如“e617”即可。

    存在跨域问题的解决方法:

    待更。

  • 相关阅读:
    git ignore 添加忽略文件
    python| 闭包函数及装饰器
    python | DRF 框架知识总览
    python | CHROME底层原理和HTTP协议
    python| css 背景图片虚化效果
    python | js 图片与base64互相转换
    python | Linux各目录及每个目录的详细介绍
    python | 解决Django+Vue前后端分离的跨域问题及关闭csrf验证
    python | Nginx负载均衡策略
    python | Linux 搭建Nginx+uWSGI+Django环境
  • 原文地址:https://www.cnblogs.com/xiaozhuzhuandxiaomoney/p/7188530.html
Copyright © 2020-2023  润新知