jQuery アコーディオン プラグインと IE7 に奇妙な問題があります (おそらくそれより前に、そこでテストしていません)。ThemeRoller で構築されたカスタマイズされた jQuery UI テーマを使用しています。色、余白、境界線を調整するために微調整しました。アコーディオンは DIV 内にあり、これはメイン コンテンツ内にネストされています。簡略化されたマークアップと CSS は以下のとおりです。基本的に、コンテンツは境界線で囲まれた中央のボックスです。メニューはボックスの上部より下にオフセットされ、左端に浮いています。
問題は、IE7 でメニューにカーソルを合わせると、基になるmain
DIV の境界線がアコーディオンを通して表示されることです。これは FF や Safari では発生しません。問題は、デフォルトのアコーディオン CSS が z-index を 1 に設定する理由です。それらの要素のすべてが、その背後にある DOM 要素の上に表示されるべきではありませんか? そして、なぜホバー時だけですか?
私はすでにこの問題を解決しており、解決策を回答として投稿します。
<div id="main" style="position: relative;">
<div id="main-menu">
<ul id="navigation" class="ui-accordion">
<li>
<div class="ui-accordion-header">
</div>
<div class="ui-accordion-content">
</div>
</li>
</ul>
</div>
</div>
CSS
#main
{
clear: both;
padding: 30px 30px 30px 30px;
background-color: #fff;
border: solid 1px #669933;
margin-bottom: 30px;
min-height: 500px;
height: auto !important;
height: 500px;
_height: 1px; /* only IE6 applies CSS properties starting with an underscrore */
}
#main-menu
{
position: absolute;
top: 1em;
left: -1em;
}
#navigation
{
width: 10em;
}
/*UI accordion*/
.ui-accordion {
/*resets*/margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.5; text-decoration: none; font-size: 100%; list-style: none;
font-family: Verdana, Arial, sans-serif;
font-size: 1.1em;
/* additions from default */
background-color: #ffffff;
color: #333333;
border: solid 1px #336600;
text-indent: 0.2em;
z-index: 1;
}