• 在网页中嵌入任意字体(特殊字体/自定义字体)的解决方案


    字体使用是网页设计中不可或缺的一部分。经常地,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内

    置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。美工设计师最常做的办法是把想要的文字做成图片,这样做

    有几个明显缺陷:1. 不可能大范围的使用该字体;2. 图片内容相对使用文字不易修改;3. 不利于网站SEO(主流搜索引擎不

    会将图片alt内容作为判断网页内容相关性的有效因素)。网络上有一些使用sIFR技术、或javascript/flash hack的方法,但

    实现起来或繁琐,或有缺陷。下面要讲的是如何只通过CSS的@font-face属性来实现在网页中嵌入任意字体。

    第一步

    获取要使用字体的三种文件格式,确保能在主流浏览器中都能正常显示该字体。

        .TTF或.OTF,适用于Firefox 3.5、Safari、Opera
        .EOT,适用于Internet Explorer 4.0+
        .SVG,适用于Chrome、IPhone 

    下面要解决的是如何获取到某种字体的这三种格式文件。一般地,我们在手头上(或在设计资源站点已经找到)有该字体的某

    种格式文件,最常见的是.TTF文件,我们需要通过这种文件格式转换为其余两种文件格式。字体文件格式的转换可以通过网站

    FontsQuirrel或onlinefontconverter提供的在线字体转换服务获取。这里推荐第一个站点,它允许我们选择需要的字符生成

    字体文件(在服务的最后一个选项),这样就大大缩减了字体文件的大小,使得本方案更具实用性。

    第二步

    获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。

    字体声明如下:

    @font-face {
     font-family: 'fontNameRegular';
     src: url('fontName.eot');
     src: local('fontName Regular'),
                  local('fontName'),
                  url('fontName.woff') format('woff'),
                  url('fontName.ttf') format('truetype'),
                  url('fontName.svg#fontName') format('svg');

    /*其中fontName替换为你的字体名称*/

    在页面中需要的地方使用该字体:

    p { font: 13px fontNameRegular, Arial, sans-serif; }
    h1{font-family: fontNameRegular}

    或者

    <p style="font-family: fontNameRegular">掬水月在手,落花香满衣</p>


    <!--------代码--如下------>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>在网页中嵌入任意字体的完整解决方案 - CSS9.NET</title>
    <link rel="stylesheet" href="http://www.blueidea.com/articleimg/2009/12/7263/style.css" />

    <style type="text/css">
    @font-face {
        font-family: 'hakuyoxingshu7000Regular';
        src: url('http://www.blueidea.com/articleimg/2009/12/7263/7000.eot');
        src: local('hakuyoxingshu7000 Regular'), local('hakuyoxingshu7000'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.ttf') format('truetype'), url('http://www.blueidea.com/articleimg/2009/12/7263/7000.svg#hakuyoxingshu7000') format('svg');
    }
    #poem{
         font-size:45px;
         font-family:hakuyoxingshu7000Regular;
         text-align:center;
    }
    #poem p{height:30px;line-height:30px;}
    </style>
    </head>
    <body>
    <div id="testdiv">
        <h1>在网页中嵌入任意字体的完整解决方案 - CSS9.NET</h1>
        <h2>访问原文: <a href="http://css9.net/css-font-face-solution/">http://css9.net/css-font-face-solution/</a>&nbsp;&nbsp;&nbsp;关注Web前端开发 - <a href="http://css9.net">CSS9.NET</a></h2>
        <div id="poem">
    <h3>云为素食</h3>
    <p>京城有同窗,相约素食阁。</p><p>听者犹未尽,言者语已多。</p><p>满座皆友朋,畅谈何民科。</p><p>禅中寄小语,慎言且柔和。</p>
    </div>

    </body>
    </html>

    来源:http://wah199.blog.163.com/blog/static/203238110201271110814193/

  • 相关阅读:
    LeetCode Flatten Binary Tree to Linked List
    LeetCode Longest Common Prefix
    LeetCode Trapping Rain Water
    LeetCode Add Binary
    LeetCode Subsets
    LeetCode Palindrome Number
    LeetCode Count and Say
    LeetCode Valid Parentheses
    LeetCode Length of Last Word
    LeetCode Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/yuwensong/p/3045011.html
Copyright © 2020-2023  润新知