用CSS实现图片替换文字三种方法(Image replacement )
2011-02-28 09:31
676 查看
不论是对浏览者还是对搜索引擎,文字都是最佳的页面内容展示方式,但是,由于字体等原因的限制,纯文字的展示渐渐无法满足爱美的设计师的要求。于是,出现 了通过 CSS 来实现用图片替换文字的方法,这种方式既能实现页面上各种丰富的效果,搜索引擎仍然可以搜索HTML文本,而果禁用CSS,文本仍然会显示。因此,深受网 页设计师的喜爱,本文介绍了几种常见的图文替换技术。
Fahrner Image Replacement (FIR)
Phark 的方法
Gilder/Levin 的方法 (推荐)
1.Fahrner Image Replacement (FIR)
这是最早出现的图文替换技术,是由 Todd Fahrner 提出的,非常容易理解:
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
<span>Hello World</span>
</h2>
CSS 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
background:url(hello_world.gif) no-repeat;
width: 150px;
height: 35px;
}
span {
display: none;
}
代码非常明白:先将图片应用在 H2 的背景中,然后将 SPAN 的标签隐藏。但是这种方式有个问题,就是当图片无法显示时,将导致这个区域没有任何内容。同时,使用 display:none 的方式隐藏的内容,将被许多主流屏幕阅读器忽略,从而造成可用性问题,因此,应该尽量避免使用。
2.Phark 的方法
这种技术是由www.phark.net 的 Mike Rundle 发明的一种适合屏幕况读器的图像替换技术,好处是不需要额外的标签。
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
Hello World
</h2>
CSS 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
text-indent: -5000px;
background:url(hello_world.gif) no-repeat;
width: 150px;
height:35px;
}
代码也非常简单,通过文本缩进,将文字隐藏,但是,当图片无法显示时,依然存在 FIR 的问题。
浏览器支持:
Windows——IE 5.5及以上版本、Netscape 7、Opera 6及以上版本、FireFox;
苹果机——IE 5.2、Safari、FireFox。
3.Gilder/Levin 的方法
这种技术是由 Tom Gilder 和 Levin Alexander 共同提出的,这也许是一个最完善的图文替换技术了:
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
<span></span>
Hello World
</h2>
CSS 代码:
Css代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
width: 150px;
height: 35px;
position: relative;
}
h2 span {
background: url(hello_world.gif) no-repeat;
position: absolute;
width: 100%;
height: 100%;
}
首先,将 H2 的 position 设为 relative ,这样将使 H2 里面的元素定位以 H2 为参照,然后将 SPAN 元素绝对定位,撑满整个 H2 区域,同时将背景图应用在 SPAN 标签里面;这种方法的原理是将 SPAN 标签覆盖在文字内容上面,一旦 SPAN 里面的背景图无法显示,将显示下层的文字内容,不影响正常使用。但是,此方法也有一个缺陷,就是背景图不能透明,否则将透出下面的文字。
浏览器支持:
Windows——IE 5.5及以上版本、Netscape 7、Opera 6及以上版本、FireFox;
苹果机——IE 5.2、Safari、FireFox。
Fahrner Image Replacement (FIR)
Phark 的方法
Gilder/Levin 的方法 (推荐)
1.Fahrner Image Replacement (FIR)
这是最早出现的图文替换技术,是由 Todd Fahrner 提出的,非常容易理解:
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
<span>Hello World</span>
</h2>
<h2> <span>Hello World</span> </h2>
CSS 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
background:url(hello_world.gif) no-repeat;
width: 150px;
height: 35px;
}
span {
display: none;
}
h2 { background:url(hello_world.gif) no-repeat; width: 150px; height: 35px; } span { display: none; }
代码非常明白:先将图片应用在 H2 的背景中,然后将 SPAN 的标签隐藏。但是这种方式有个问题,就是当图片无法显示时,将导致这个区域没有任何内容。同时,使用 display:none 的方式隐藏的内容,将被许多主流屏幕阅读器忽略,从而造成可用性问题,因此,应该尽量避免使用。
2.Phark 的方法
这种技术是由www.phark.net 的 Mike Rundle 发明的一种适合屏幕况读器的图像替换技术,好处是不需要额外的标签。
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
Hello World
</h2>
<h2> Hello World </h2>
CSS 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
text-indent: -5000px;
background:url(hello_world.gif) no-repeat;
width: 150px;
height:35px;
}
h2 { text-indent: -5000px; background:url(hello_world.gif) no-repeat; width: 150px; height:35px; }
代码也非常简单,通过文本缩进,将文字隐藏,但是,当图片无法显示时,依然存在 FIR 的问题。
浏览器支持:
Windows——IE 5.5及以上版本、Netscape 7、Opera 6及以上版本、FireFox;
苹果机——IE 5.2、Safari、FireFox。
3.Gilder/Levin 的方法
这种技术是由 Tom Gilder 和 Levin Alexander 共同提出的,这也许是一个最完善的图文替换技术了:
HTML 代码:
Html代码
![](http://blog.csdn.net/images/icon_copy.gif)
<h2>
<span></span>
Hello World
</h2>
<h2> <span></span> Hello World </h2>
CSS 代码:
Css代码
![](http://blog.csdn.net/images/icon_copy.gif)
h2 {
width: 150px;
height: 35px;
position: relative;
}
h2 span {
background: url(hello_world.gif) no-repeat;
position: absolute;
width: 100%;
height: 100%;
}
h2 { width: 150px; height: 35px; position: relative; } h2 span { background: url(hello_world.gif) no-repeat; position: absolute; width: 100%; height: 100%; }
首先,将 H2 的 position 设为 relative ,这样将使 H2 里面的元素定位以 H2 为参照,然后将 SPAN 元素绝对定位,撑满整个 H2 区域,同时将背景图应用在 SPAN 标签里面;这种方法的原理是将 SPAN 标签覆盖在文字内容上面,一旦 SPAN 里面的背景图无法显示,将显示下层的文字内容,不影响正常使用。但是,此方法也有一个缺陷,就是背景图不能透明,否则将透出下面的文字。
浏览器支持:
Windows——IE 5.5及以上版本、Netscape 7、Opera 6及以上版本、FireFox;
苹果机——IE 5.2、Safari、FireFox。
相关文章推荐
- 用 CSS 实现图片替换文字(Image replacement)
- CSS基础实例:CSS实现带背景图片的文字链接的方法
- 用 CSS 实现图片替换文字(Image replacement)
- 用 CSS 实现图片替换文字(Image replacement)
- 用 CSS 实现图片替换文字(Image replacement)
- CSS来实现用图片替换文字
- CSS实现文字半透明显示在图片上方法
- CSS实现同一行的图片和文字垂直居中对齐的方法
- 用 CSS 实现图片替换文字
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- CSS针对IE6实现网页图片底部留出空白的方法
- 关于用隐藏文字(图片替换文字)的更好的可用性方法
- CSS几种简单方法实现文字竖向排版
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- Android将TextView中的文字替换为一个小图片的方法
- CSS控制图片和文字在同一行显示且对齐的3种方法
- css图片上悬浮文字(丝带效果)实现
- 任意图片实现垂直居中的三种方法(兼容性还不错)
- Android 图片模糊、高斯模糊、毛玻璃的三种实现方法
- 三种纯CSS实现三角形的方法