[翻译]标记语言和样式手册 Chapter 14 图片替换(9)
作者:zhaozy 来源:3user.com 发布时间:2008-02-18 12:56:00
一张图片,三种状态
Pixy卓越的快速翻转效果,精华在于每个导航项目制作一张同时包含普通状态,鼠标滑过状态,激活状态的图片.稍后,我们将以CSS改变background-position,在适当的时候显示各个状态.
这个方法终结了以往使用JavaScript替换图片,预先载入许多图片的做法,真是个节省制作时间的好办法,下载速度也变快了许多.
图14-12 是一张我为Fast Company网站导航制作的图片.每个状态都是20像素高,整张图片的高度是60像素.顶部20像素是普通状态,接着20像素则是鼠标滑过状态,最下面20像素则是激活状态(同时也用来表现"你在这里"的效果).所使用的每个标签都有一张类似的图片.
图14-12 一张包含三种状态的图片
使用一张图片包含每个状态,让我们能扔掉传统的制作这类效果是需要加上的丑陋的JavaScript内容,以改用简单的CSS规则作出鼠标移动效果.这样不错.它同时也排除了其他CSS方法在分开开 / 关图片的时候可能会遇到的闪烁问题,同时我们也不必预先载入任何图片了.
CSS内容:这是被施了魔法的地方
首先将设定所有导航项目共享的规则,如此就不必为每个标签重复相同的规则.接着为每个清单项目id分别加上独立规则,为<li>指定专属的background-image与width,每个标签只有这两个属性不一样.
CSS内容大致如下:
#nav {
margin: 0;
padding: 0;
height: 20px;
list-style: none;
display: inline;
overflow: hidden;
}
#nav li {
margin: 0;
padding: 0;
list-style: none;
display: inline;
}
#nav a {
float: left;
padding: 20px 0 0 0;
overflow: hidden;
height: 0px !important;
height /**/:20px; /* for IE5/Win only */
}
#nav a:hover {
background-position: 0 -20px;
}
#nav a:active, #nav a.selected {
background-position: 0 -40px;
}
前面这段CSS会把清单样式与内补丁去掉,把清单转成水平,同时隐藏超链接里的文字.留意:hover与:active规则.这在每个#nav内的<a>都通用,不必为每一个项目分别重复这些规则.
接着为我想持续突出显示标签指定"selected"类,提示读者目前在网站内的位置.这些规则与:active状态共用.
你或许也会注意到我们重复为#nav和#nav li指定了list-style:none;与display:inline;规则这是为了讨IE5 for Windows欢心,在完美的世界里,只要为#nav指定一次这些规则就够了,当然这不是现状.
接着,再为每个id加上规则,指定background-image和width,以下是一个实例:
#thome a {
width: 40px;
background: url(home.gif) top left no-repeat;
}
当然,每个标签都有一段类似的声明.
成果
图14-13显示了标签在普通状态,鼠标滑过状态,选定状态下效果.如果你想看它实际运作的效果,可以看看SimleBits上面的示例于源代码(http://www.simplebits.com/bits/tab_rollovers.html).
图14-13 标签导航效果,示范三种不同状态.


猜你喜欢
- python各类经纬度转换,具体代码如下所示:import mathimport urllibimport jsonx_pi = 3.141
- 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处理复杂系统分解为代码结
- 本文实例为大家分享了python实现贪吃蛇双人大战的具体代码,供大家参考,具体内容如下晚上家里小朋友要玩贪吃蛇游戏,还要跟我对战,一时半会我
- 本文针对SQL 2016 正式版安装过程进行梳理总结,帮助大家顺利安装SQL 2016,具体内容如下1.点击全新安装2.接着就是下一步,下一
- 描述的意思是HTML为中心的前端开发也差不多是web标准的意思。1.HTML是基础2.CSS依靠选择符提供视觉;3.Javascript 依
- 效果知识点:css3画气球, 自定义属性运用,随机阵列, DOM元素操作,高级回调函数与参数复传,动态布局,鼠标事件,定时器运用,CSS3新
- 本文实例讲述了Python实现的根据IP地址计算子网掩码位数功能。分享给大家供大家参考,具体如下:#!/usr/bin/env python
- 前情提要上文我们分析了挂载组件主要调用了三个函数: createComponentInstance(创建组件实例)、setupCompone
- 先不说直接改后缀,直接可以用网快等工具直接下载,其实这样你已经是为入侵者打开了大门。入侵者可以利用asp/asa为后缀的数据库直接得到web
- 前言:今天教大家通过Python进行Socket网络编程(做一个聊天程序),可以实现在不同的主机(电脑)之间进行通话。具体效果如何,接着往下
- 用了smarty,tp过后,也想了解了解其模板技术是怎么实现,于是写一个简单的模板类,大致就是读取模板文件->替换模板文件的内容-&g
- 基本的网站页面设计元素布局比例统计,给大家做个参考,看看您的网站是否和下面的统计一致:标志图案:位置统计结果左上角84%右上角6%上方居中6
- 在小编学习python中的模拟点击之前,我们想要对某一项操作进行自动指令的重复,可以选择大家熟知的按键精灵。那么对比python的模拟点击,
- 前言本项目是使用了谷歌开源的框架mediapipe,里面有非常多的模型提供给我们使用,例如面部检测,身体检测,手部检测等。原理首先先进行手部
- 本文实例讲述了Python计算两个日期相差天数的方法。分享给大家供大家参考,具体如下:#!/usr/bin/pythonimport tim
- 很多网站都有“浏览历史”这个功能,通常都是显示在页面的一侧,特别是一些购物网站,这个功能会让用户使用网站的体验好一些;例如当当网或淘宝网都有
- 今天想把classification_report的统计结果输出到文件中,我这里分享一下一个简洁的方式:我的pandas版本:pandas
- 有时候我们要去别的接口取数据,可能因为网络原因偶尔失败,为了能自动重试,写了这么一个装饰器。这个是python2.7x 的版本,python
- 以下实例用于判断一个数字是否为奇数或偶数:# -*- coding: UTF-8 -*-# Filename : test.py# Pyth
- CentOS安装Python1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm、yum或de