最初のメニュー項目には、li:hoverに表示されることになっているドロップダウンサブメニューがあります。ただし、何らかの理由で、いずれかのliの間の余白にカーソルを合わせると、サブメニューが表示され、その理由がわかりません。ChromeとIEの互換モードで動作しますが、IE8では動作しません。
サブメニューを表示するCSSの行は次のとおりです。
.menu li:hover ul {
display: block;
position: absolute;
margin: 0;
padding: 0;
}
私にとって、これは、liにカーソルを合わせるたびに、その子ulのいずれかを次のスタイルでスタイル設定することを意味します。ネストされたulを持たないli間のマージンでこれがトリガーされるのはなぜですか?
念のため、メニューのCSS全体を次に示します。
.menu {
font-weight: normal;
font-size: 1.1em;
margin-top: 5px;
padding: 5px 0 0 0;
font-family: OswaldLight;
display: table;
margin: 0 auto;
}
.menu li {
list-style: none;
float: left;
margin-right: 10px;
}
.menu li a {
display: block;
text-decoration: none;
padding:5px;
color:@navbar-text;
background:@navbar;
text-decoration:none;
}
.menu li ul {
display: none;
background-color: @navbar;
}
.menu li ul li {
margin: 0;
}
.menu li a:hover {
color: @navbar-text-highlight;
background-color: @navbar-highlight;
}
.menu li:hover ul {
display: block;
position: absolute;
margin: 0;
padding: 0;
}
.menu li:hover li {
float: none;
}
.menu li:hover li a {
background-color: @navbar;
color: @navbar-text;
}
.menu li li a:hover {
color: @navbar-text-highlight;
background-color: @navbar-highlight;
}