简述sIFR、typeface.js和cufon文本替换技术

一个常常令设计师和前端开发人员都头疼的事情就是字体的使用,设计师常常在设计稿中使用某些很漂亮的字体,以实现比较酷炫的界面。但这样常常给编码人员造成一些难度,如果在页面中放弃使用这些字体,设计师会感到郁闷,而如果使用这些字体的话,就要切图并使用很多额外的样式——又一个鱼和熊掌的抉择。还好,现在已经有了一些相关的替代技术了。

1. @font-face

CSS3的@font-face属性(事实上CSS2中就已引入),为我们带来了一些希望,而Firefox 3.5新增的对@font-face的支持,让我们离这个希望更进了一些。

到现在为止,已经有Safari、Chrome、Opera 10和Firefox 3.5支持@font-face了,比较意外的是,IE系列浏览器也部分支持该属性。Mozilla旗下的其它产品,SeaMonkey 2 和Thunderbird 3 也支持该属性。

浏览器兼容性

浏览器 最低版本 支持字体
Internet Explorer 4.0 只支持OpenType字体(eof格式)
Firefox (Gecko) 3.5 (1.9.1) TrueType(ttf格式)和OpenType 字体
Opera 10.0 TrueType和OpenType 字体
Safari (WebKit) 3.1 (525) TrueType和OpenType 字体

从表中可以看出,IE系浏览器不支持TTF格式的字体,只支持eof格式,不过,微软官方发布了一个WEFT工具,可以将TTF转化为EOF,需要的朋友可以去下载使用。

可以使用的样式如下:

@font-face {

font-family: qianduanNet;

font-style: normal;
  font-weight: 400;

src: url("SketchRockwell.ttf");
}
.fontFace{

font-family: qianduanNet;

font-size: 3.2em;

letter-spacing: 1px;

text-align: center;
}

IE中的样式如下:

@font-face {
  font-family: Goudy Stout;
  font-style: normal;
  font-weight: 400;
  src: url(GOUDYST0.eot);
}

这是目前最简单实现嵌入字体的方法。

@font-face资源:

CSS3系列教程:嵌入字体/网络字体

Mozilla开发者中心:@font-face

Web fonts with @font-face

sIFR

sIFR并非一种新技术,而是已经存在并被使用很多年了。sIFR是一种很有用也很好用的文本替换技术,通过Flash+JS+CSS将网络字体嵌入到页面中。

考虑到网上已经有很多资源,本文就不再赘述,想要了解的朋友可以参考一下文章:

如何以及何时使用sIFR

sIFR-文本替换技术

sIFR——百度百科

Typeface.js

Typeface被认为是替代SIFR的最佳方案,相对于sIFR,Typeface少了Flash的应用,使用纯JS来嵌入相关字体,而且用法也很简单:在页面中引入相应的js文件就OK了。

<html>
 <head>
<!-- 加载所有的样式先 -->
  <link rel="stylesheet" type="text/css" ref="/style.css">
<!-- 再加载typeface.js 库文件和typeface.js字体文件-->
  <script type="text/javascript" src="typeface-0.10.js"></script>
  <script type="text/javascript" src="helvetiker_regular.typeface.js"></script>
 </head>
 <body>
<!-- 继续并使用CSS指定typeface.js 字体 -->
  <div class="myclass typeface-js" style="font-family: Helvetiker">
   文本文本...
  </div>
 </body>
</html>

从中我们可以看出来,使用Typeface只需要着简单的几步就可以在页面中使用嵌入字体了。

时间: 2024-10-26 22:57:04

简述sIFR、typeface.js和cufon文本替换技术的相关文章

sIFR、typeface.js和cufon文本替换技术

一个常常令设计师和前端开发人员都头疼的事情就是字体的使用,设计师常常在设计稿中使用某些很漂亮的字体,以实现比较酷炫的界面.但这样常常给编码人员造成一些难度,如果在页面中放弃使用这些字体,设计师会感到郁闷,而如果使用这些字体的话,就要切图并使用很多额外的样式--又一个鱼和熊掌的抉择.还好,现在已经有了一些相关的替代技术了. 1. @font-face CSS3的@font-face属性(事实上CSS2中就已引入),为我们带来了一些希望,而Firefox 3.5新增的对@font-face的支持,让

js使用函数绑定技术改变事件处理程序的作用域_javascript技巧

第一种,也是 最常见的,就是直接在html标签里面通过指定事件处理程序同名的HTML属性来注册事件,代码如下: 复制代码 代码如下: function eventHandler() { alert("当前作用域是 input 元素本身"); } <input type="button" value="单击我" onclick="eventHandler(this)"/> 第二种方式就是将一个函数赋值给一个事件处理程

简述2011年度十大新兴企业级技术

本文将从那些已经进行交付但还没有被广泛应用的企业级技术之中选出十个最具影响力的技术.这次的评选标准可能有更强的主观性,评选依据来自于InfoWorld测试中心多年积累的产品评估经验,加上对行业的起伏和对企业客户的吸引力等因素的综合考虑.下面就开始介绍此次评选出来的2011年十大新兴企业级技术. 10.HTML5 虽然HTML5看起来和原先旧版的HTML类似,但是两者所能完成的任务具有明显的差别.除了将被标记的文字和图像导入矩形区域内以外,本地数据存储.标签和视频标签都能使HTML5做更多的事情.

如何以及何时使用sIFR

作者:阿宏 2005-5-28 16:05:36 原文:http://usabletype.com/articles/2004/how-and-when-to-use-sifr/ 原作者:Andrew Hume 翻译:阿宏 在分析sIFR之前,先来快速的了解一下sIFR是什么,以及它是如何工作的.sIFR表示scalable Inman Flash Replacement,是一种在web上准确发布自定义排版的技术.这种技术的实现方法是,当页面下载时,在一个指定的元素中用Flash渲染的文字来代替

写一段js代码,实现分页展示与导航功能,使用对象模式

问题描述 写一段js代码,实现分页展示与导航功能,使用对象模式 我是个js入门者,技术总监给我出了这个问题,我想问一下使用对象模式是什么意思,导航功能又是指什么,有高手给我指点一下吗?最好有代码,非常谢谢! 解决方案 对象模式就是使用js中的对象模型,定义对象,将数据和函数封装起来.导航功能分为三部分,一个是导航菜单,用于定位栏目的链接,一个是站点地图,层次展示站点全部页面,一个是路径指示器,包含当前页和首页之间关系的列表,几乎所有的网站都有,只要你留心就可以看到. 解决方案二: 导航,从字面应

什么是 JSP 技术?

js JavaServer Pages (JSP) 技术提供了一种简单快速的方法来创建显示动态生成内容的 Web 页面.由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法.  JSP 技术的工作原理? JSP 页面使用 XML 标签和 scriptlets(一种使用 Java 语言编写的脚本代码),封装了生成页面内容的逻辑.它将各种格式的标签(HTML 或者 XML)直接传递回响应页面.通过这种方式,JS

一个开发人员眼中的JSP技术(上)

js JavaServerTM Pages(JSP)技术为我们提供了一种建立动态网页的简单方法,而且也简化了构造web程序的工作.本文从一个开发人员的角度对JSP技术做了一个全面介绍(并提供了一些JSP实例程序). 前言 JavaServer Pages技术可以让web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统.作为JavaTM技术的一部分,JSP能够快速开发出基于web.独立于平台的应用程序.JSP 把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容

JSP分页技术实现

js|分页 JSP分页技术实现 目前比较广泛使用的分页方式是将查询结果缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示.这种方法有两个主要的缺点:一是用户可能看到的是过期数据:二是如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降. 其它常见的方法还有每次翻页都查询一次数据库,从ResultSet中只取出一页数据(使用rs.last();rs.getRow()获得总计录条数,使用rs.absolute()定位到本页

与SEO密切相关的网页技术

SEO与技术是密切相关的,许多人都认为做SEO是不需要技术的,其实这是一个误区,如果你不懂技术,就不可能把SEO做得很成功,出了问题也不能做出科学的决策,在许多人的眼里,SEO无非是每天发一些文章.发一些外链这样,如果你也这样理解SEO,那说明你的水平还处于一个非常初级的阶段,即使搜索引擎是一个技术很强的东西,那么,我们要想在它上边获取相应的流量,我们必需具备一定的技术,至少应该理解它的原理,那么在网站的页面是否符合SEO的技术要求上,我们应该注意哪些问题呢? 1.使用文本浏览器来检查你的网页,