这是我第一次使用的网站:www.olgoya.com
问题是除了IE8之外的所有主要浏览器都会在'投资组合'项目上显示鼠标时显示子菜单。我能弄清楚的是问题在于父对象的不透明度设置,如果我删除它,IE也能够显示子菜单。
父对象格式:
ul, li{text-align:right; margin:0; padding:0; list-style:none;}
#menubg{position:absolute;top:1px;width:130px;left:25px;background:#000;opacity:0.5;filter:alpha(opacity=50);-khtml-opacity: 0.5;-moz-opacity: 0.5;bottom:1px;z-index:3}
垂直菜单格式:
/*
Author: Craig Erskine
Description: Dynamic Menu System - Vertical
*/
ul#navmenu-v,ul#navmenu-v li,ul#navmenu-v ul {
width: 130px; /* Menu Width */
margin: 0;
list-style: none;
}
ul#navmenu-v li { float: left; position: relative; width: 100%; }
ul#navmenu-v li.iehover { z-index: 1000;/* IE z-index bugfix */ }
ul#navmenu-v ul {
display: none;
position: absolute;
top: 0;
left: 100%;
z-index: 9999;
}
/* Root Menu */
ul#navmenu-v a {
/*
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
*/
padding: 6px;
display: block;
/*
background: #DDD;
color: #666;
font: bold 11px Arial, sans-serif;
*/
text-decoration: none;
height: 1%;
}
/* Root Menu Hover Persistence */
ul#navmenu-v a:hover,ul#navmenu-v li:hover a,ul#navmenu-v li.iehover a {
background: #444;
/* color: #FFF;
border-right: 1px solid #000;
border-left: 5px solid #000;
*/
}
/* 2nd Menu */
ul#navmenu-v li:hover li a,ul#navmenu-v li.iehover li a {
float: none;
background: #000;
}
/* 2nd Menu Hover Persistence */
ul#navmenu-v li:hover li a:hover,ul#navmenu-v li:hover li:hover a,ul#navmenu-v li.iehover li a:hover,ul#navmenu-v li.iehover li.iehover a {
background: #999;
}
/* 3rd Menu */
ul#navmenu-v li:hover li:hover li a,ul#navmenu-v li.iehover li.iehover li a {
background: #999;
}
/* 3rd Menu Hover Persistence */
ul#navmenu-v li:hover li:hover li a:hover,ul#navmenu-v li:hover li:hover li:hover a,ul#navmenu-v li.iehover li.iehover li a:hover,ul#navmenu-v li.iehover li.iehover li.iehover a {
background: #666;
}
/* 4th Menu */
ul#navmenu-v li:hover li:hover li:hover li a,ul#navmenu-v li.iehover li.iehover li.iehover li a {
background: #666;
}
/* 4th Menu Hover */
ul#navmenu-v li:hover li:hover li:hover li a:hover,ul#navmenu-v li.iehover li.iehover li.iehover li a:hover {
background: #333;
}
/* Hover Function - Do Not Move */
ul#navmenu-v li:hover ul ul,ul#navmenu-v li:hover ul ul ul,ul#navmenu-v li.iehover ul ul,ul#navmenu-v li.iehover ul ul ul { display: none; }
ul#navmenu-v li:hover ul,ul#navmenu-v ul li:hover ul,ul#navmenu-v ul ul li:hover ul,ul#navmenu-v li.iehover ul,ul#navmenu-v ul li.iehover ul,ul#navmenu-v ul ul li.iehover ul { display: block; }
请检查并告诉我如何在强大的IE中透明地使用菜单!
答案 0 :(得分:0)
好的'Internet Explorer,它缺乏不透明度的支持!值得庆幸的是,IE9支持不透明度。在此期间,您有时可以通过使用jQuery设置不透明度来解决这个问题:
$('#menubg').css('opacity', '0.5');
<强>更新强>
由于这不适合您,您需要做的是创建1px宽度,1px高度.png
颜色#000
和不透明度50%。然后使用此css规则:
#menubg { background:url(/path/to/png.png) repeat;}
摆脱那个过滤器,它就是魔鬼。