0

たぶん、新鮮な目でこれのどこが間違っているのかわかるかもしれませんが、アクティブなメニュー項目に別のスタイルを持たせたいです...

HTML:

<div id="menu">
    <ul>
        <li id="active"><a href="#">Home</a></li>
        <li><a href="#">Products</a></li>
        <li><a href="#">Services</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
    </div>

そして私のCSS:

#menu ul {list-style-type: none;height: 40px;float: left;margin-top: 43px;margin-left:-32px;}
#menu li {
float: left;
}
#menu li #active {
background: url(../images/menu-bg-hover.png) no-repeat;
color: #ffffff;
}
#menu li a {
background: url(../images/menu-bg.png) no-repeat;
display: block;
width: 100px;
height: 40px;
text-decoration: none;
font-size: 16px;
color: white;
margin: 0 auto;
text-align: center; 
padding-top: 10px;
color:#424242;
font-family: "Helvetica", Arial, sans-serif; 
}
4

3 に答える 3

2

次のようにスタイルを修正するだけです。

#menu li#active {
  background: url(../images/menu-bg-hover.png) no-repeat;
  color: #ffffff;
}

#menu li #activeではなく と書いていました#menu li#active

于 2012-10-19T16:55:33.710 に答える
0

削除する

#menu li #active {
background: url(../images/menu-bg-hover.png) no-repeat;
color: #ffffff;
}

追加

#menu #active a{
background: url(../images/menu-bg-hover.png) no-repeat;
color: #ffffff;
}
于 2012-11-09T14:03:28.937 に答える
0

CSS を に更新して、#menu li#active a以下に配置します#menu li a。これにより、スタイリングがデフォルトのスタイル (この場合は背景画像とテキストの色) を確実にオーバーライドします。

#menu li #activeactiveブラウザに、 の下の id を持つ子要素を強制的に配置させますli

于 2012-10-19T16:54:29.143 に答える