如何以及何时使用sIFR

来源:css教程网 时间:2008-03-07 12:38:00 

在分析sIFR之前,先来快速的了解一下sIFR是什么,以及它是如何工作的。sIFR表示scalable Inman Flash Replacement,是一种在web上准确发布自定义排版的技术。这种技术的实现方法是,当页面下载时,在一个指定的元素中用Flash渲染的文字来代替一些文本。理解下面这点是很重要的,这个元素并不是被Flash完全替换,文本仍在元素内,这个元素仍可以像通常那样被样式化或者被定位。

关于sIFR的一些事实:并不是为了辩论

sIFR不需要更改(X)HTML代码,所有的工作由Javascript、Flash和CSS来完成;

如果用户没有安装Flash或者不支持Javascript,那么(X)HTML的文本就会被CSS样式化后显示出来。

sIFR是可缩放的,可以在渲染时更改为用户设置的缺省字体尺寸。

sIFR兼容所有的屏幕阅读机,至今还没有问题被报道出来。

sIFR的文本可以被鼠标选择,尽管当全选文本时,选中的状态看上去不那么确切。

sIFR不影响搜索引擎的定位和评定,不会隐藏真实的文本内容。

结论应该是,sIFR是一种可使用的,慎重的技术,设计者和开发者使用时应该给予认真的考虑。

什么时候使用sIFR

就像所有的web技术一样,重要的是要懂得使用sIFR的最好的方式,以及能够知道最适合使用的场合。这指的是要为工作选择恰当的工具,特别是当sIFR作为一个工具从工具箱中跳出让我们使用时。

案例:一个大型的体育新闻站点决定把所有的标题都设计成公司独有的字体。新闻报道(包括它们的标题)通过某些内容管理软件被世界各地不同的人在不同的地方发布。他们不可能雇佣一些人坐在Photoshop面前,当编辑们每次要增加新闻报道时就创建一张标题图片。

在这种情况下,sIFR就是一个绝对简单的,可使用的和可扩充的工具。一些新闻站点解决这个问题的办法是通过PHP来忙碌的创建图片,或者使用另一些服务器端的手段。这个办法可以很好的节省时间,但是当它与sIFR比较时,就会看到有许多缺点:

图片不能缩放为用户缺省的字体尺寸。

尽管图片被缓存在服务器上,但是在产生图片时仍然存在一个性能问题。

每一张图片都必须分别被下载,导致服务器和带宽的消耗。

而采用sIFR,那么就只有一个Flash(.swf)文件和一个Javascript (.js)文件被下载,并可以使站点上所有的标题都被渲染为公司的字体。

这个例子不是空穴来风。这是一个真实的案例,在2001年,为了重新设计ESPN.com,Mike Davidson开发出了最初的Flash替换技术。从那以后,随着Shaun Inman和其他人的加入,这已经发展成为今天我们所拥有的完整而流畅的技术了,而且很有可能在2005年对web排版技术产生重大的冲击。

在链接上使用sIFR

最新版本的sIFR允许链接文本被替换。尽管这是一个令人兴奋的发展,但毕竟不适合运用在这样的场合。这是由于以下的可访问性问题:

不支持浏览器的右键点击功能(上下文菜单)

不支持apple的option键

没有状态条信息

虽然这些问题显得很琐碎,但是很多人发现这些功能的缺失很令人丧气。缺少状态条的信息,你就不能获得你下一个要访问的地址的线索;随着诸如Firefox和Opera浏览器的普及,右键的上下文菜单正在变成一个越来越有用的工具。尽管sIFR在链接上提供一个基本的右键点击,但是浏览器的上下文菜单却是不可访问的。

标签:sIFR,flash,设计,web
0
投稿

猜你喜欢

  • 修改asp代码防止被杀毒软件误删

    2007-10-07 12:32:00
  • RDFa介绍——构建更友好的web页面

    2009-09-19 17:01:00
  • 四种方法在SQL Server数据库中成批导入数据

    2009-02-19 17:25:00
  • CSS背景属性5个应用实例

    2009-09-13 20:54:00
  • FrontPage XP设计教程3——网页的布局

    2008-10-11 12:20:00
  • 语义、标准和样式

    2008-06-05 12:52:00
  • ASP.NET教程第二讲:安装ASP.NET

    2007-08-07 11:59:00
  • Javascript 回调和事件(翻译)

    2009-03-28 11:47:00
  • ASP提高数据显示效率-缓存探幽

    2007-09-28 12:37:00
  • 解决MySQL 5.0不能使用自动增加字段问题

    2008-12-02 14:30:00
  • asp如何远程注册DLL

    2010-06-16 09:58:00
  • 超越MYSQL,ACCESS复合承载

    2008-12-09 13:31:00
  • encodeURIComponent用法UrlEncode与URLEncode.encode()

    2009-05-11 12:40:00
  • PL/SQL编程经验小结开发者网络Oracle

    2010-07-18 13:27:00
  • sql server如何得到插入一条记录后最新的ID?

    2009-11-15 20:06:00
  • rs.getrows的使用方法

    2008-04-05 14:01:00
  • 自适应网页设计(Responsive Web Design)

    2012-05-02 10:49:07
  • Linux PHP连接MSSQL

    2011-06-02 12:01:00
  • MySQL乱码问题深层分析

    2009-03-09 14:53:00
  • gchart:基于google图表API的jquery组件全攻略:1、入门

    2010-01-25 12:18:00
  • asp之家 网络编程 m.aspxhome.com