Web ページの左側のナビゲーション メニューを作成しようとしています。これは、次の画像のようになります。
これが私が直面している問題のjsfiddleです。http://jsfiddle.net/rzr4Z/
私のhtmlは次のようになります
<ul id="nav">
<li><a href="#first-page" id="first_id">First</a><img src="images/navbar-icons/first.png" />
</li>
<li><a href="#second-page" id="second_id">Second</a><img src="images/navbar-icons/second.png" />
</li>
<li><a href="#third-page" id="third_id">Third</a><img src="images/navbar-icons/third.png" /> <img
src="images/navbar-icons/third.png" />
<ul id="side-menu">
<li><img src="images/navbar-icons/submenu-img.png" alt="sub menu image" />
</li>
<li>Sub-menu item 1</li>
<li>Sub-menu item 2</li>
<li>Sub-menu item 1</li>
</ul></li>
<li><a href="fourth-page" id="fourth_id">Fourth</a><img src="images/navbar-icons/fourth.png" />
</li>
</ul>
CSS:
ul#nav {
list-style-type: none;
margin: 10px 0;
padding: 0;
text-align: center;
}
ul#nav li {
font-size: 250%;
line-height: 25px;
padding: 7px 0;
margin: 0;
}
ul#nav li a {
display: block;
}
ul#nav li a:link,ul#nav li a:visited {
color: #333333;
text-decoration: none;
}
ul#nav li a:hover,ul#nav li a:active {
color: #a61607;
text-decoration: none;
}
ul#nav li img {
display: none;
}
ul#nav a:hover#first_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#second_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#third_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav a:hover#fourth_id+img {
display: block;
position: relative;
top: -25px;
}
ul#nav li ul#side-menu {
display: none;
position: absolute;
}
ul#nav li:hover ul#side-menu {
font-size: 30%;
list-style-type: none;
line-height: 2px;
color: #a61607;
text-decoration: none;
display: block;
position: absolute;
top: 310px;
left: 250px;
}
ul#nav li:hover ul#side-menu li {
float: none;
}
ul#nav li:hover ul#side-menu li img {
position: absolute;
top: 400px;
left: 0px;
}
のようなことをする代わりに、
ul#nav a:hover+img {
display: block;
position: relative;
top: -25px;
}
対応するロールオーバー位置に合わせて個別に調整できるように、各ロールオーバー画像のサイズと幅が異なるため、css の li 要素ごとに異なる ID を使用する必要がありました。メニュー項目ごとに異なる ID を使用することは、目的の効果を得る正しい方法ですか?
ただし、主な問題は、各メニュー項目の画像をホバーすると、フラッター効果が発生し始め、ホバー効果がそのようなフラッターで目に簡単に見えないことです. サブメニューの画像 (サブメニュー項目は表示されますが、画像は表示されません) も、#third-page
メニュー項目にカーソルを合わせても表示されません。
このバタつきを解決し、このメニューの正しい効果を得るための提案はありますか?