找回密码
 注册
搜索
热搜: java php web
查看: 1587|回复: 9

利用CSS实现“鼠标经过图像效果

[复制链接]
发表于 2009-1-25 20:14:09 | 显示全部楼层 |阅读模式
以前,用DW(Dreamweav)中的“鼠标经过图像,来实现那样的效果。但是会遇到这样一个问题:当网速不太快的时候,鼠标经过后的图片还没有下载下来,看上去很不美观。并且还需要一大堆的JS代码,还需要预载经过图片。相对来说比较麻烦!特别是对那些现在记事本来手工编写网页的朋友更是烦得很。事实上用CSS就可以解决这个问题,并且非常的简单,下载快,不会出现鼠标经过后的图片还没有下载下来这种情况。这个做法的原理很简单:就是用<a>标签的a:hover来触发鼠标事件,然后通过CSS来变化其背景的上下左右的位置。下面就主要分析一下用CSS来制作“鼠标经过图像”。

XHTML代码:
<ul id="nav">
<li id="nav1"><a href="/" mce_href="/">nav1</a></li>
<li id="nav2"><a href="/" mce_href="/">nav2</a></li>
<li id="nav3"><a href="/" mce_href="/">nav3</a></li>
<li id="nav4"><a href="/" mce_href="/">nav4</a></li>
<li id="nav5"><a href="/" mce_href="/">nav5</a></li>
</ul>

这里用一个菜单来讲解,在实际运用中我们可能会有其它方面的运用。这里我们看到并没有图片,那是因为我们的图片都是用CSS调用的背景,而每个LI都有一个ID,那是因为这里的菜单图片是不同的!每个LI都有自己的菜单内容。
好了,现在需要把这个列表处理一下横向排放:

#nav li {margin: 0; pad**: 0; list-style: none; display: inline;}
我们都知道<a>标签不是默认的块级元素,如果不是块级元素鼠标所感应的热区就不是我们所设定的长宽,而是其元素本身的大小。但CSS可以把其声明为块级元素。
#nav a { float:left; pad**: 34px 0 0 0; overflow: hidden; height: 50px;}
这里有一个很有意思的事!那就是,在这一句中有没有“display:block;”都是一样的。这里的“pad**:34px 0 0 0;”是我们背景图的一半高度(注:背景图是把两张图片上下合在一起的图片)但是并不是用来控制背景图的,而是把<a>标签中的文字隐藏。由于触发动作并且移动位置是一样的,所以可以集中描述移动背影的位置。
#nav a:hover { background-position: 0 -34px;}
这句的意思是:在#nav下的所有链接在鼠标经过时其背景向上移动34个像素。最后就是给菜单中的每一个链接加上背景图片。
#nav1 a {width:59px;background:url(btn_nav1.jpg) top left no-repeat;}
#nav2 a {width:69px;background:url(btn_nav2.jpg) top left no-repeat;}
……
好了,完成,其中要注意的是:“pad**:34px 0 0 0;”“#nav a:hover { background-position: 0 -34px;}” 需要根据自己的实际情况来设定值。

相关帖子

发表于 2009-1-25 21:33:30 | 显示全部楼层
学习。。。
回复

使用道具 举报

发表于 2009-1-25 21:08:25 | 显示全部楼层
太感谢了 正需要这个东西
回复

使用道具 举报

发表于 2009-1-25 21:50:55 | 显示全部楼层
不错不错虚心学习中
回复

使用道具 举报

发表于 2009-1-25 20:56:42 | 显示全部楼层
对于background:url(btn_nav1.jpg)使用多的话会创建很多背景图片请求
少用可以,建议不多用,如目前浏览器功能按钮背景都有合并在一张大范围图片的趋势
回复

使用道具 举报

发表于 2009-1-25 21:01:52 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2009-1-25 21:01:04 | 显示全部楼层
不错,谢谢楼主,有创意
回复

使用道具 举报

发表于 2009-1-25 20:36:24 | 显示全部楼层
LZ这个好像有些问题吧.飞,不在与高,在于长久
回复

使用道具 举报

发表于 2009-1-25 21:16:18 | 显示全部楼层
回复

使用道具 举报

发表于 2009-1-25 21:22:32 | 显示全部楼层
不错,谢谢楼主!!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 15:22

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表