[翻译]标记语言和样式手册 Chapter 14 图片替换(10)
作者:zhaozy 来源:3user.com 发布时间:2008-02-18 12:56:00
为什么要用它?
它非常轻量,标记源代码里不过是个无序清单.
它易于使用: 利用Stuart的方法,我们确信屏幕阅读器能够念出文字链接.
不用JavaScript:不要预先载入图片,或是为每个状态分别制作图片.也不需要额外的JavaScript控制鼠标滑过效果.谢拉!Pixy兄.
它很美观:把文字放到指定的位置颇需技巧,这让我们可以直接使用漂亮的图片.
但是等等,文字不会变化大小!
遵照Douglas Bowman的好建议,同时回应易读性问题,无法调整图片大小问题,我更进一步制作了第二组文字放大的标签图片.然后我就能在现存的medium和large替换样式表里面覆盖这些规则.我用Paul Sowden的样式表切换器启用替换样式表,先前在第十章"技巧延伸"中提到过.
覆盖的样式规则与先前的代码几乎相同,只修改了图片位置,宽度:
#thome a {
width: 46px;
background: url(guides_lg.gif) top left no-repeat;
}
图14-14显示了Fast Company网站上放大过后的标签效果,你能发现水平距离变窄了,而垂直大小与原始标签一样.但是,加上了放大文字,标签图片大小的功能之后,我们不仅帮助了视力不佳的使用者,同时仍然遵守现有的设计细节.
图14-14 用替换样式表放大图标图片的导航条
兼容性
这个方法经过测过,应该同时能在所有5.0版之后的浏览器上正常运作.
针对Fast Company的网站,我选择用position:absolute指定#nav的位置,以便完美对齐所有元素,让标题区域的背景色彩显示出来.这个方法效果十分完美,除了Opera7 for Windows以外,它需要为绝对定位元素指定宽度.
这没什么问题;只要为#nav指定所有图片的宽度总和就好了:
#nav {
margin: 0;
padding: 0;
height: 20px;
list-style: none;
display: inline;
overflow: hidden;
width: 201px;
}
这下我们能够睡个好觉了,Opera的拥护者也高兴了.
结论
现在你已经跟上图片替换技术的最新发展了,虽然还没有完美的解决方案,我仍希望你已准备好相关知识,这些原则十分重要,值得理解,实验一番.
除此之外,通过示范了两个真实的图片替换技巧使用法,我希望能使你开始前进,而你...对,就是你...会是那个发现下一个最佳做法的人,运气和名望正等着你!


猜你喜欢
- 一般情况下:if(2 > 10){alert("不正确!");} 此比较不会是想要的结果:它相当于2 >1,
- 本文实例讲述了Python字符串拼接、截取及替换方法。分享给大家供大家参考,具体如下:python字符串连接python字符串连接有几种方法
- 乍一看到列表推导式你可能会感到疑惑。它们是一种创建和使用列表的简洁方式。理解列表推导式是有用的,因为你可能在其他人的代码里看到列表推导式。下
- 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,
- python的日志管理模块可以用自带的logging模块,也可以用第三方的Loguru模块,关于logging和loguru模块的简单使用可
- 大家好,常用探索性数据分析方法很多,比如常用的 Pandas DataFrame 方法有 .head()、.tail()、.info()、.
- 在用HTML(HyperText Markup Language,超文本链接标示语言)语言编写Web页面时,由于所用的Web浏览器对HTML
- xlsxwriter 简介用于以 Excel 2007+ XLSX 文件格式编写文件,相较之下 PhpSpreadsheet 支持更多的格式
- 本文实例讲述了Python实现获取磁盘剩余空间的2种方法。分享给大家供大家参考,具体如下:方法1:import ctypesimport o
- 平常我们只听说过ADO等一类ASP对象,但在ASP中还有个鲜为人知的专门SQL Server的ASP访问对象,它就是SQLOLE.SQLSe
- 类代码:# -*- coding:gbk -*-import ConfigParser, osclass INIFILE: de
- 首先,大家先去下载一份dvbbs.php beta1的代码,解压后先抛开php代码,找出你的mysql手册,如果没有手册那么就直接看下面的实
- 比如:现需要向学生表中插入新的学生数据。但在插入学生数据的时,需要同时检查老师表里的数据。如果插入学生的老师不在老师表里,则先向老师表中插入
- 本文实例讲述了Python3.5实现的罗马数字转换成整数功能。分享给大家供大家参考,具体如下:问题概述:给定一个罗马数字 ,将罗马数字转换成
- 大家好,我是Peter~本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相
- 实验介绍增量恢复一般适用的场景:1、人为的sql语句破坏了数据库2、在进行下一次完全备份之前发生系统故障导致数据库数据丢失3、在主从架构中,
- 在 * 站中,用户每次请求一个页面,服务器都会执行以下操作:查询数据库,渲染模板,执行业务逻辑,最后生成用户可查看的页面。这会消耗大量的资源
- 上个项目中用到了ActiveMQ,只是简单应用,安装完成后直接是用就可以了。由于新项目中一些硬件的限制,需要把消息队列换成RabbitMQ。
- 在服务器端asp程序可以接受html页面上的form传来的参数,那么它又如何实现IE地址参数判断呢?当地址栏没有参数"id"时
- 本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:<?php /* * set here a lim