主题:用css实现图片替换文字(转)
 楼主 q23ertt 发表于2010-9-1 9:56:04
用css实现图片替换文字(转)

不论是对浏览者还是对搜索引擎,文字都是最佳的页面内容展示方式,但是,由于字体等原因的 限制,纯文字的展示渐渐无法满足爱美的设计师的要求。

于是,出现了通过 CSS 来实现用图片替换文字的方法,这种方式既能实现页面上各种丰富的效果,又能满足搜索引擎优化的需要。因此,深受网页设计师的喜爱,本文介绍了几种常见的图 文替换技术。

* Fahrner Image Replacement (FIR)

* Phark 的方法

* Gilder/Levin 的方法 (推荐)

 

Fahrner Image Replacement (FIR)

这是最早出现的图文替换技术,是由 Todd Fahrner 提出的,非常容易理解:

HTML 代码:

<h2> <span>Hello World</span> </h2>

CSS 代码:

<style> h2 { background:url(hello_world.gif) no-repeat; width: 150px; height: 35px; } span { display: none; } </style>

代码非常明白:先将图片应用在 H2 的背景中,然后将 SPAN 的标签隐藏。但是这种方式有个问题,就是当图片无法显示时,将导致这个区域没有任何内容。同时,使用 display:none 的方式隐藏的内容,将被许多主流屏幕阅读器忽略,从而造成可用性问题,因此,应该尽量避免使用。

 

Phark 的方法

这种技术是由 Mike Rundle 提出的,好处是不需要额外的标签:

HTML 代码:

 <h2> Hello World </h2>

CSS 代码:

<style> h2 { text-indent: -5000px; background:url(hello_world.gif) no-repeat; width: 150px; height:35px; } </style>

代码也非常简单,通过文本缩进,将文字隐藏,但是,当图片无法显示时,依然存在 FIR 的问题。

 

Gilder/Levin 的方 法

这种技术是由 Tom Gilder 和 Levin Alexander 共同提出的,这也许是一个最完善的图文替换技术了:

HTML 代码:

 <h2> <span></span>Hello World </h2>

CSS 代码:

<style> h2 { width: 150px; height: 35px; position: relative; } h2 span { background: url(hello_world.gif) no-repeat; position: absolute; width: 100%; height: 100%; } </style>

首先,将 H2 的 position 设为 relative ,这样将使 H2 里面的元素定位以 H2 为参照,然后将 SPAN 元素绝对定位,撑满整个 H2 区域,同时将背景图应用在 SPAN 标签里面;这种方法的原理是将 SPAN 标签覆盖在文字内容上面,一旦 SPAN 里面的背景图无法显示,将显示下层的文字内容,不影响正常使用。但是,此方法也有一个缺陷,就是背景图不能透明,否则将透出下面的文字。

 

 1 arescky 发表于2010-9-1 19:05:09

楼主辛苦了,感谢分享。

 2 wxf1387 发表于2010-9-4 9:42:09

很强

 3 zcefan 发表于2010-9-7 10:25:25

不错,学习学习。

奇新云平台
切换