プロが教えるわが家の防犯対策術!

IE9でa:hoverが効かなくて困っています。
droppy.jsというJavaScriptを使ってドロップメニューにしているのが原因でしょうか?
以下ソースです。
html

<div id="navi">
<div class="inner">
<ul>
<li><a href="サイトトップのURL">トップ</a></li><!-- ←ここのa:hoverは正常に動作する -->
<li>
<a href="メニュー1のURL">メニュー1</a><!-- ←ここのa:hoverは正常に動作する -->
<ul>
<li><a href="メニュー1-1のURL">メニュー1-1</a></li><!-- ←ここのa:hoverが効かない -->
<li><a href="メニュー1-2のURL">メニュー1-2</a></li><!-- ←ここのa:hoverが効かない -->
</ul>
</li>
</ul>
</div>
</div>

css

#navi {
background: url(naviの背景画像のURL) repeat-x left top #000000;
border-bottom: 1px solid #000000;
-moz-box-shadow: 0 0 3px #484848;/* Firefox用 */
-webkit-box-shadow: 0 0 3px #484848;/* Safari,Google Chrome用 */
box-shadow: 0px 0px 3px rgba(0,0,0,0.5);
}
#navi .inner {
margin: 0 auto;
width: 940px;
}
#navi .inner ul li {
float: left;
margin: 15px 0;
padding: 0 10px;
position: relative;
}
#navi .inner ul li a {
padding: 5px 11px;
color: #ffffff;
text-decoration: none;
}
#navi .inner ul li a:hover {
border: 1px solid #ffffff;
padding: 5px 10px;
color: #333333;
background: #ffffff;
background:linear-gradient(#eaeeee, #e2e3e3);
background: -moz-linear-gradient(top, #eaeeee, #e2e3e3);/* Firefox用 */
background: -webkit-gradient(linear, left top, left bottom, from(#eaeeee), to(#e2e3e3));/* Safari,Google Chrome用 */
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#eaeeee, endcolorstr=#e2e3e3);/* IE6,7 */
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#eaeeee, endcolorstr=#e2e3e3)";/* IE8 */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-top-left-radius: 5px; border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px;
behavior: url(/PIE.htc);
}

#navi .inner ul li ul {
position: absolute;
top: 39px;
left: 0;
zoom: 1;
display: none;
background: #dae4d7;
border: 1px solid #8db0a0;
border-top: none;
border-bottom: none;
font-size: 85%;
width: 150px;
}
#navi .inner ul li ul li {
float: none;
padding: 0;
margin: 0;
background: none;
}
#navi .inner ul li ul li:hover {
background: none;
}
#navi .inner ul li ul li a {
color: #2d595f;
text-align: left;
display: block;
background: url(icon画像のURL) no-repeat 5px center;
border-top: 1px solid #ffffff;
border-bottom: 1px solid #8db0a0;
padding: 5px 5px 5px 20px;
}
#navi .inner ul li ul li a:hover {
background: url(hoer用icon画像のURL) no-repeat 5px center #2d595f;
color: #ffffff;
-moz-border-radius: 0;
-webkit-border-radius: 0;
border-radius: 0;
border-top: 1px solid #2d595f;
border-bottom: 1px solid #2d595f;
border-left: none;
border-right: none;
padding: 5px 5px 5px 20px;
margin: 0;
}

どこがおかしいのかわからないのでnaviv部分全体を載せます。
宜しくお願いします。

A 回答 (1件)

親要素のliにもhoverが効いてますね。


a要素をdisplayblockにして、
スタイルを統合したほうがいいのかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

もう一度確認してみた結果、親要素のliに入っているaタグに
filterがかかっているのが原因でした・・・。
確認不足ですみませんでした。

お礼日時:2012/04/20 17:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!