你只是想做一个简单的图像翻转吗?没有看到一个可行的例子,我无法确切地知道你想要做什么,但是图像翻转很容易用 CSS sprites 做,不需要 jquery,这使得网站更加防弹。它还使您的网站响应更快,因为默认和过度状态图像是相同的图像,不需要预加载代码。
如果您需要映射图像(而不是完全换出),这可以通过背景图像、容器 div 和 png-24 图形来完成(使 png-24s 在 IE6 中工作所需的 JavaScript,但谁在乎支持 IE6反正?)。
在不使用 javascript 的情况下更改导航图像的一个好方法是使用 background-position 属性,如下所示:
// define your container element
#nav-home {
margin: 20px 5px;
height: 15px;
width: 40px;
}
// use a descendant selector to style the <a> tag
#nav-home a {
background-image: url("/images/buttons-nav.gif");
display: block; // THIS IS VERY IMPORTANT!!
background-position: 0 0; // the first number is horizontal placement, the second is vertical placement. at 0 0 it is positioned from the top left corner
height: 15px;
}
// this is where you change the position of the background for the hover state
#nav-home a:hover {
background-position: -20px 0; //this moved it 20px to the right
}
您的 html 代码如下所示:
<div id="nav-home"><a href="/yourlink/"><img src="/images/transparent.gif" alt="home" height="100%" width="100%;"></a>
<!-- uses a 1px transparent gif to "hold" the place of the actual clicked item -->
您的图像实际上将包含开启和关闭状态,如下所示:http ://www.w3schools.com/css/img_navsprites_hover.gif然后您所做的就是将图像移动到一侧以显示 :hover 状态。(代码示例位于http://www.w3schools.com/css/tryit.asp?filename=trycss_sprites_hover_nav)。您基本上是在制作一个带有容器 div 的窗口,然后只显示实际背景图像的一部分。
另外,不要在除标签之外的任何东西上使用 :hover ,因为并非所有浏览器都支持在块级元素上使用 :hover 。