我在Master页面上使用jquery菜单,菜单是使用Unordered List构建的。每个里面都有锚标签。在这个锚标记内,有一个图像标记和几个跨度。
现在,菜单的工作方式是您只看到文本(没有边框或背景颜色),直到您将鼠标悬停在listitem上,此时图像和跨度会显示出来并变为可见。一切都很好,一切都在IE8中显示,但是当我在Chrome或Firefox中运行网站时,每个列表项都会显示一个灰色的薄框。虽然看起来不错,但这不是我想要的效果。我假设这与锚点直接相关,但没有一个标准的CSS技巧在起作用。我尝试从其中一个列表项中删除锚标记,果然,该列表项的边框已经消失。不幸的是,我需要那里的超链接。 img标签有一个src属性,它被定义并拉出正确的图像。在CSS(我在site.master页面的HEAD中,我为“a”,“img”,“a span”设置了以下属性:
text-decoration:none;
border-style:none;
border:none;
outline:none;
我也试过直接向IMG添加border =“0”,但根本没有运气。我唯一一次看到边框消失的时候是我删除了锚标签。
我被困在这上面了。非常感谢任何帮助!
为了方便起见,以下是代码中的一个菜单项:
<ul id="sdt_menu" class="sdt_menu">
<li>
<a href="#">
<img src="images/1.jpg" border="0" alt=""/>
<span class="sdt_active"></span>
<span class="sdt_wrap">
<span class="sdt_link">the island</span>
<span class="sdt_descr">About</span>
</span>
</a>
<div class="sdt_box">
<a href="#">Airlines</a>
<a href="#">Travel Info</a>
<a href="#">Currency</a>
</div>
</li>
这是样式表:
ul.sdt_menu
{
position: absolute;
top: 148px;
margin:0;
padding:0;
list-style: none;
font-family:"Myriad Pro", "Trebuchet MS", sans-serif;
font-size:14px;
width:968px;
border: 0px;
}
ul.sdt_menu a{
text-decoration:none;
outline:none;
border: 0px;
}
ul.sdt_menu li{
float:left;
width:161px;
height:85px;
position:relative;
cursor:pointer;
text-decoration:none;
outline:none;
border:0px;
}
ul.sdt_menu li > a{
position:absolute;
top:0px;
left:0px;
width:161px;
height:85px;
z-index:12;
-moz-box-shadow:0px 0px 2px #000 inset;
-webkit-box-shadow:0px 0px 2px #000 inset;
box-shadow:0px 0px 2px #000 inset;
text-decoration:none;
outline:none;
border:0px;
}
ul.sdt_menu li a img{
border:none;
text-decoration:none;
outline:none;
position:absolute;
width:0px;
height:0px;
bottom:0px;
left:85px;
z-index:100;
-moz-box-shadow:0px 0px 4px #000;
-webkit-box-shadow:0px 0px 4px #000;
box-shadow:0px 0px 4px #000;
}
ul.sdt_menu li span.sdt_wrap{
position:absolute;
top:25px;
left:0px;
width:161px;
height:60px;
z-index:15;
border:none;
text-decoration:none;
outline:none;
}
ul.sdt_menu li span.sdt_active{
position:absolute;
background:#111;
top:85px;
width:161px;
height:0px;
left:0px;
z-index:14;
-moz-box-shadow:0px 0px 4px #000 inset;
-webkit-box-shadow:0px 0px 4px #000 inset;
box-shadow:0px 0px 4px #000 inset;
border:none;
text-decoration:none;
outline:none;
}
ul.sdt_menu li span span.sdt_link,
ul.sdt_menu li span span.sdt_descr,
ul.sdt_menu li div.sdt_box a{
margin-left:15px;
text-transform:uppercase;
text-decoration:none;
outline:none;
border:none;
}
ul.sdt_menu li span span.sdt_link{
color:#333333;
font-size:24px;
float:left;
clear:both;
text-decoration:none;
outline:none;
border:none;
}
ul.sdt_menu li span span.sdt_descr{
color:#0066FF;
float:left;
clear:both;
width:155px; /*For dumbass IE7*/
font-size:12px;
letter-spacing:1px;
text-decoration:none;
outline:none;
border:none;
}
ul.sdt_menu li div.sdt_box{
display:block;
position:absolute;
width:161px;
overflow:hidden;
height:161px;
top:85px;
left:0px;
display:none;
background:#000;
z-index:100;
text-decoration:none;
outline:none;
border:none;
}
ul.sdt_menu li div.sdt_box a{
float:left;
clear:both;
line-height:30px;
color:#0066FF;
text-decoration:none;
outline:none;
border:none;
}
ul.sdt_menu li div.sdt_box a:first-child{
margin-top:5px;
}
ul.sdt_menu li div.sdt_box a:hover{
color:#666666;
}
答案 0 :(得分:0)
感谢您发布样式表。你看到的灰色“边界”来自这条规则:
ul.sdt_menu li > a {
-moz-box-shadow:0px 0px 2px #000 inset;
-webkit-box-shadow:0px 0px 2px #000 inset;
box-shadow:0px 0px 2px #000 inset;
}
根据http://msdn.microsoft.com/en-us/library/cc351024%28v=vs.85%29.aspx IE在IE9之前没有添加盒子阴影支持,这就是为什么你没有在IE8中看到阴影的原因。