效果:
将鼠标悬停在 TD 元素上时出现的带有文本和按钮的悬停框。在 IE 7 中,该框会出现,但一旦您尝试将鼠标悬停在它上面就会消失。 IE8+/FF/Ch/Sf 都允许您将鼠标悬停在子 DIV 上。我做错了什么?
简单代码:
CSS
td {
position:relative;
width:30px;
}
.hovering_box {
display:none;
position:absolute;
margin-left:25px;
}
td .slot:hover .hovering_box {
display:block;
}
.hovering_box:hover {
display:block;
}
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<table>
<tr>
<td class='slot'>
<div class='hovering_box'>
<span class='box_title'>Title Here</span>
<span class='box_message'>Help me!</span>
<button>OK!</button>
</div>
</td>
</tr>
</table>
</html>
最佳答案
IE6 不支持在链接以外的元素上悬停,因此您必须使用 javascript 来支持 IE6。我建议只使用一些 jQuery 来使 IE6 和 IE7 兼容。
$('td .slot').hover(function(){
$(this).addClass('hover');
},function(){
$(this).removeClass('hover');
});
然后像这样修改你的css。
td .slot:hover .hovering_box,td .slot.hover .hovering_box {
display:block;
}
.hovering_box:hover,.hovering_box.hover {
display:block;
}
关于css - IE7/Quirks Mode Child Div hover问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473841/