我遇到了IE9的问题。当悬停在.photo-nav上时,.photo-nav-icon应该变为可见状态。这在我尝试过的其他所有浏览器中都可以正常工作。
以下是我的标记:
<div class="photo-content">
<img class="photo-img" src="/Images/empty.gif" />
<div class="photo-nav prev" data-direction="prev">
<div class="photo-nav-icon prev"></div>
</div>
<div class="photo-nav next" data-direction="next">
<div class="photo-nav-icon next"></div>
</div>
</div>
这是我的CSS代码:
.photo-content { position: relative; width: 600px; height: 400px; margin: 0 auto; }
.photo-img { width: 600px; height: 400px; display:block; }
.photo-nav { position: absolute; height: 400px; width: 72px; }
.photo-nav.prev { top: 0; left: 0; }
.photo-nav.next { top: 0; right: 0; }
.photo-nav-icon { height: 60px; width: 60px; display: none; }
.photo-nav-icon.prev { margin: 170px 0 0 10px; }
.photo-nav-icon.next { background-position: 0 -60px; margin: 170px 10px 0 0; }
.photo-nav:hover > .photo-nav-icon { display: block; }
这里有一个与问题相关的Fiddle。
请注意:Fiddle中的边框不是设计的一部分。它们只是用来展示框架,因为图片不可用。然而,值得注意的一点是,IE可以识别图片导航div的边框,然后会对悬停做出反应,但不会对div的主体作出反应。
另外,如果我将img更改为div并使用background-image,则IE似乎可以正常工作,但这会导致其他问题,因为我无法钩取背景图像的onload事件。
最后,doctype是<!DOCTYPE html>
:hover
.. 就是悬停在.photo-nav
的左边框上,你会看到.photo-nav-icon
出现,很明显它的宽度因某些原因而折叠,使它看起来好像没有起作用。 - Adrift