网络编程
位置:首页>> 网络编程>> 网页设计>> [翻译]标记语言和样式手册 Chapter 14 图片替换(6)

[翻译]标记语言和样式手册 Chapter 14 图片替换(6)

作者:zhaozy 来源:3user.com 发布时间:2008-02-18 12:56:00 

标签:样式,图片,标记,css,手册

技巧延伸

在这个单元中,首先先来看看两个真实世界里或许能正确应用的图片替换技术的地方,首先,我们先来看看标识(logo)替换的有用技巧,这是推广FIR技巧的(方法A)的Douglas Bowman最先告诉我的.其次,我会分享Fast Company的网站是如何不使用JavaScript单靠图片替换技术做出导航系统的.

标识替换

在本章开始的时候讨论了如何用CSS把文字替换成图片.这些方法都有些特定的缺点,但是这些缺点陷在一种特殊情况下会完全消失:那就是用图片.....替换掉另一个图片.

但是为什么会想这么做?

Hi-Fi和Lo-Fi

以图片替换掉另一个图片的理由之一,可能是为了提供不同的网站标识,一种给完全支持CSS(能正确处理background属性)的浏览器,另一种则是给老旧浏览器,手持设备,屏幕阅读器等.

如果你的标识有配合CSS设计的透明颜色,特殊颜色时,这个方法尤其便利,你或许会想显示Lo-Fi版本的标识,让页面在CSS关闭或者不支持的时候仍然有不错的外观.

示例

为了避开著作权律师的纠缠,我将再度以个人网站作为示例.它不仅替换了标识图片,同时还考虑到首页之外的其他页面,启用CSS版的标识仍能作为超链接点击,连回首页.

一起来看看我在首页上标记标识所使用的源代码,以及其他页面使用的源代码.

这是首页的:

<div id="logo">
  <span><img src="/images/logo_lofi.gif" width="173" height="31" alt="SimpleBits" /></span>
</div>

其他所有页面的标识都能点击,将使用者带回到首页:

<div id="logo">
  <span><a href="/"><img src="/images/logo_lofi.gif" width="173"
height="31" alt="SimpleBits" /></a></span>
</div>

一对标识

图14-6和14-7是我使用的两个标识,前面这个是在未使用样式的页面里显示于行内的版本(Lo-Fi),而后面这个则是在现代浏览器之内被CSS引用的图片(Hi-Fi).


图14-6 未启用CSS的浏览器会看到的logo_lofi.gif

图14-7 启用CSS的浏览器会看到的logo_corn.gif

CSS内容

把这些东西搭在一起,加上CSS使每件事成为可能!

首先,把行内图片的宽度设为0将它隐藏起来,记得不要用display属性隐藏lo-fi标识,这样屏幕阅读器才比较有机会正确念出隐藏图片(的alt文字内容):

#logo img {
  display: block;
  width: 0;
  }

接着,为我偷偷加上的<span>标签以background属性指定hi-fi标识图片.对,这很没意义,语义上也很没意义,但是这次就当成例外吧.

#logo span {
  width: 173px;
  height: 31px;
  background: url(../images/logo_corn.gif) no-repeat;
  }

你应该发现了,我们该做的所有事情就是把高度,宽度设成与替换用的图片相同,同时把背景图片指定为hi-fi版.

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com