【发布时间】:2010-11-04 02:31:54
【问题描述】:
我正在设计一个结合了 CSS 和 JavaScript 效果的菜单栏。它由带有文本的大图标组成,当鼠标悬停在上面时会出现。它将部署在 Intranet 上,因此它只需要在 IE 7、8 和 Firefox 中运行。当然,Firefox 似乎执行了我直觉认为的 HTML 应该看起来的样子,显示带有大点击区域的大块链接。然而,IE7 显示的块链接类似于 Javascript 的链接并正确悬停(在我通过添加透明背景图像破解它之后),但在我单击它时不提供手指光标或跟随 href。
有趣的是,图像周围的链接区域确实有手指光标,但只要我将图像悬停,它就会变回箭头。
<div id="navigation">
<ul>
<li><a href="#" onMouseOver="vtoggle('txtHome');" onMouseOut="vtoggle('txtHome');">
<span class="icon"><img src="iconImage.png" alt="Home" /></span>
<span class="icontxt" id="txtHome" style="visibility:hidden;">Home</span>
</a></li>
...
</ul>
</div>
<script type="text/javascript">
function vtoggle(x) {
if (document.getElementById(x).style.visibility == 'hidden') {
document.getElementById(x).style.visibility = 'visible';
} else {
document.getElementById(x).style.visibility = 'hidden';
}
}
</script>
#navigation{
margin:0px auto;
padding:0px;
padding-left:10px;
height:64px;
list-style:none;
}
#navigation li{
float:left;
clear:none;
list-style:none;
}
#navigation li a, #navigation li a:link{
color:#fff;
display:block;
font-size:12px;
text-decoration:none;
padding:8px 18px;
margin:0px;
margin-left:-20px;
width:80px;
height:64px;
background:url(../images/transparent.gif);
}
#navigation li a:hover{
background:url(../images/glow.png);
background-repeat:no-repeat;
background-position:10px -2px;
}
.icon{
float:left;
width:100%;
text-align:center;
}
.icontxt{
float:left;
font-size:10px;
color:white;
font-weight:bold;
clear:left;
text-align:center;
width:100%;
margin-top:-1px;
}
非常感谢任何帮助。
-- 编辑-- 我解决了我的问题(我将在下面发布答案以符合惯例)但我仍然想听听为什么 IE 不允许
<a href="#"><span><img /></span></a>
【问题讨论】:
标签: javascript html css internet-explorer hyperlink