2

为什么 Internet Explorer 不呈现我制作的这个 .css sprite 菜单?有人可以帮我解释一下,因为我在代码中找不到任何错误。 html:

<div class="menu">
     <ul class="nav">
         <li class="home"><a href="#"></a></li>
            <li class="element2"><a href="#"></a></li>
            <li class="element3"><a href="#"></a></li>
            <li class="element4"><a href="#"></a></li>
            <li class="element5"><a href="#"></a></li>
            <li class="element6"><a href="#"></a></li>
            <li class="element7"><a href="#"></a></li>                
        </ul>
    </div>   

用于包装器和链接的 CSS:

    .menu{
     height:350px;
     margin:0;
     padding:0;
     float:left;
     width:150px;  
    }

/*Menu*/
.nav{
 background:url("menusprite.png");
 height:350px;
 padding:0;
 margin:0;
}
.nav li{
 list-style:none;
 padding:0;
 position:relative;
 top:0;
}
.nav li, .nav a{
 height:50px;
 display:block;
}

以及 a:link 和 :hover 的示例 css:

.home{ 
        left:0;
     height:50px;
}
.home a:hover{
     background:url("menusprite.png")-150px 0 no-repeat;
}
4

1 回答 1

2

你的 CSS 应该看起来更像:

.home a:hover{
     background:transparent url("menusprite.png") no-repeat scroll -150px 0;
}

您的 CSS 有两处错误:

  1. url(...)-150px:您需要在 css 属性中的属性之间有一个空格
  2. -150px 0 no-repeat:背景重复(和背景附件)应该在速记中的背景位置之前
于 2010-02-04T01:49:29.513 回答