2

Internet Explorer が、作成したこの .css スプライト メニューをレンダリングしないのはなぜですか? コードにエラーが見つからないので、誰かが私に光を当ててくれませんか。 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 に 2 つの問題がありました。

  1. url(...)-150px : CSS プロパティの属性間にスペースが必要です
  2. -150px 0 no-repeat : background-repeat (および background-attachment) は、省略形で background-position の前に来る必要があります
于 2010-02-04T01:49:29.513 に答える