zoukankan      html  css  js  c++  java
  • @fontface

    问题描述:

          产品展示的界面上有个产品编号,由后台程序动态生成,如图

          而"875"的字体是特殊字体,如果客户端系统上没有安装该特殊字体,就达不到原设计效果。

    解决办法(我认为的三种):
    1。通过FLASH实现,但是小小的几个数字用FLASH来做不是很划算,
    2。用小图标,在后台添加产品的时候顺序上传一张该产品的编号图标。
    3。通过字体文件映射到客户端系统来实现

    主要通过@font-face,解释如下:

    @font-face { font-family : name ; src : url( url ) ; sRules }
    设置嵌入HTML文档的字体。
    嵌入HTML文档的字体是指将OpenType字体(压缩的TrueType字体)文件映射到客户端系统,用来提供HTML文档使用该字体,或取代客户端系统已有的同名字体。

    示例字体:11PXBUS.ttf

    步骤:
    (1)服务器端先安装"11PXBUS.ttf”字体.
    (2)通过Microsoft的"Microsoft WEFT”工具生成" .eot " 的字体(貌似不是每种字体都能生成,而且有的生成的eot文件太大),

        这里我通过"11PXBUS.ttf”字体生成了"11PXBUS.eot".
         
    (3)在CSS中自定义字体("11PXBUS.eot"字体和生成的"11PXBUS.ttf"在images文件夹中)
    @font-face{
        font-family:myfont1;
        font-weight: bold;
        src: url(../images/11PXBUS.eot);
    }
    @font-face{
        font-family:myfont2;
        font-weight: bold;
        src: url(../images/11PXBUS.ttf);
    }

    (4)需要用到特殊字体的地方调用
        #content{font-family:"myfont1","myfont2";}

        这样客户端没有装这个字体的时候,就可以自动映射对应的字体。

        这里定义了两个字体,myfont1是为了兼容IE6、7、8,myfont2兼容FF3.5等,具体看下图支持情况 

    .eot格式:

    .ttf格式:

    图片来源:http://www.web600.net/

    附:FF不显示设置的字体:
    FireFox-->工具-->选项-->内容-->点选“字体&颜色”旁边的“高级”-->勾选“允许页面选择字体而无需使用上面的设置”

  • 相关阅读:
    javascript异步编程学习及实例
    通过调试vue-cli 构建代码学习vue项目构建运行过程
    web技术栈开发原生应用-多端共用一套代码
    vuejs应用开发前后端分离
    web前端跨域解决方案JSONP,CORS,NGINX反向代理
    js script 加载顺序
    js 百度地图
    layui-table 样式
    css 排版 test
    layui table
  • 原文地址:https://www.cnblogs.com/_dragon/p/1723916.html
Copyright © 2011-2022 走看看