[翻译]标记语言和样式手册 Chapter 14 图片替换(8)
作者:zhaozy 来源:3user.com 发布时间:2008-02-18 12:56:00
易用的图片标签翻转效果
说这个特殊案例"易用"可能有点不符事实,我为Fast Company网站编写的图片标签导航系统与本章稍早时讨论的图片替换技术,同样有个缺点,那就是"关掉图片显示,启用CSS"的使用者什么都看不到.
然而,在你必须使用图片制作导航内容的时候(不管是为了克服空间限制还是字体要求),这个做法就很有价值,值得一看了.
易用性的部分是指:最后要以图片制作导航标签,但是标记源代码仍然是灵活的,轻巧的无序清单,所有浏览器,电话,PDA应该都能正常使用.
一起来看看整个方法是怎么完成的.
问题
当我还是Fast Company网页小组的成员时,我们一度需要在FC的顶部导航列里放进更多的项目,但是空间已经使用完了.先前导航列表几元到吗是以简单,加上样式的无序清单制作的,但是在800*600视窗解析度时,剩下的空间甚至不足以再放进一个项目.
解决方法
我决定组合并修改捷克作者 Petr Stanicek(又称 Pixy)的"Fast Rollovers, No Preload Needed"(http://www.pixy.cz/blogg/clanky/cssnopreloadrellovers/)做法,以及本章稍早的时候提过的Leahy / Langridge图片替换法,以便作出易于使用,不使用JavaScript的图片标签翻转效果(图14-11)
图14-11 FastCompany.com的标签导航系统,2004年2月的情形
这是怎么办到的?
标记源代码:一个清单搞定全部
我希望继续在源代码里使用简单的无序清单制作导航列.本书前面已经有不少内容提到过以清单制作导航列的好处了:他们很简洁,而且能在文字浏览器,屏幕阅读器,PDA,手提电话等正常使用.
以下是清单的本来面目(我删去了一些项目以便进行示范):
<ul id="nav">
<li><a href="/" class="selected">Home</a></li>
<li><a href="/guides/">Guides</a></li>
<li><a href="/magazine/">Magazine</a></li>
<li><a href="https://img.aspxhome.com/files/">Archives</a></li>
</ul>
简单明了,现在来为每个<li>标签加上唯一的id,以便稍后用它们变出一些花样来(就是用漂亮的图片换掉每个标签乏味的文字):
<ul id="nav">
<li id="thome"><a href="/" class="selected">Home</a></li>
<li id="tguides"><a href="/guides/">Guides</a></li>
<li id="tmag"><a href="/magazine/">Magazine</a></li>
<li id="tarchives"><a href="https://img.aspxhome.com/files/">Archives</a></li>
</ul>
接着用Photoshop(或是你熟悉的图片编辑软件)制作一些标签图片.


猜你喜欢
- 引言数组是相同数据类型的一组数据的集合,数组一旦定义长度不能修改,数组可以通过下标(或者叫索引)来访问元素。相对于去声明 number0,
- 进度条是当我们处理冗长的任务时使用的控件,它是以动画的形式让用户知道该任务正在取得进展。在PyQt5中的进度条对应组件是QProgressB
- 在本篇文章中,我们将探讨如何使用YOLOv5车牌识别系统实现实时监控与分析。我们将介绍如何将模型应用于实时视频流,以及如何分析车牌识别结果以
- 在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候。下面看下re模块下的findall()函数和多个表达式元组相遇的时
- 一、概述公司新购了一批PC,准备把几个性能较优的PC升级为数据库服务器,替换老旧的机器。公司有套POS终端软件,后台数据存储是 MySQL
- python2.7环境下运行安装相关模块想要每天定时启动,最好是把程序放在linux服务器上运行,毕竟linux可以不用关机,即定时任务一直
- // NewTimer creates a new Timer that will send// the current time on i
- 本文实例讲述了sql server实现在多个数据库间快速查询某个表信息的方法。分享给大家供大家参考,具体如下:最近出来实习,所在公司的服务器
- 一、安装库需要安装pywin32库pip install pywin32二、代码原理WPS高清图片导出需要会员,就为了一个这个小需求开一个会
- 所以特意写了这个配置文档,相信按照以下步骤你一定会成功的.错误的地方也希望各位指正. 本例是在wiondws XP下 php5.2.1(zi
- 前言需要导入以下包,没有的通过pip安装import matplotlib.pyplot as pltimport cv2from PIL
- 本文介绍在Anaconda环境中,安装Python语言pydot与graphviz两个模块的方法。最近进行随机森林(RF)的树的可视化操作,
- 一般来说在 Python 中,为了解决内存泄漏问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收。由于Python 有了自动垃圾回收功
- golang的字符有如下两种:一种是 uint8['ju:nɪt] 类型叫做 byte 型,代表了 ASCII 码的一个字符。另一种
- python中捕获键盘操作一共有两种方法第一种方法:使用pygame中event方法使用方式如下:使用键盘右键为例if event.type
- PC登录新浪微博时,在客户端用js预先对用户名、密码都进行了加密,而且在POST之前会GET一组参数,这也将作为POST_DATA的一部分。
- 前些天写一个存储过程,存储过程中使用了事务,后来我把一些代码注释掉来进行调试找错,突然发现一张表被锁住了,原来是创建事务的代码忘记注释掉。本
- 安装官网下载http://ffmpeg.org/选择需要的版本在这个网址下载ffmpeg,https://github.com/BtbN/F
- Function Comma(str)If Not(IsNumeric(str)) Or 
- 一、统计数组 arr 中值等于 item 的元素出现的次数function count(arr, item) { var co