CSS:背景图片无法处理悬停按钮

时间:2011-06-21 06:02:48

标签: css image background hover

我只想悬停从上到下传递,但当鼠标位于顶部时,按钮没有反应。

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="style/menuStyle.css" type="text/css" charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <ul id="menu">
        <li><a href="http://google.com">Home</a></li>
        <li><a href="http://google.com">About</a></li>
        <li><a href="http://google.com">Info</a></li>
        <li><a href="http://google.com">Gallery</a></li>
        <li><a href="http://google.com">Forum</a></li>
        <li><a href="http://google.com">Blog</a></li>    
    </ul>

</body>
</html>

CSS:

a {color:black; text-decoration: none; outline:none; float:left}
a:visited {color: black}
ul {list-style:none}

#menu a {display:block;
    width:100px;
    height:50px;
    background: url(../img/boton.png) top;
    text-align:center;
    line-height: 50px;
    display:inline}

#menu a:hover{ color:red;
            background:url(../img/boton.png) bottom}

下载项目 http://gabrielmeono.com/menu.zip

2 个答案:

答案 0 :(得分:1)

由于您在display:inline;

背后的评论,您的css无效
// is not a comment in css

相反,你必须使用这个

/* this is a css comment */

如果你改变它,它应该可以正常工作

答案 1 :(得分:1)

您需要对CSS进行一些调整。

删除//条评论。这些不起作用,打破了CSS。如果您需要使用评论,请使用/* your comment here */

您需要设置background-position以及background-repeat。通过设置-'ve背景位置,可以向上移动背景图像,从而使图像成为焦点。同样设置no-repeat,只是为了安全。

您可以在http://css-tricks.com/158-css-sprites/

了解有关此技术的更多信息

所以这是我提出的最终CSS:

#menu a
{
    display:block;
    width:100px;
    height:50px;
    background-image: url(../img/boton.png);
    background-repeat: no-repeat;
    text-align:center;
    line-height: 50px;
    display:inline;
}

#menu a:hover, #menu a :active
{ 
    color:red;
    background-position: 0px -50px;
}