我有一个下拉菜单,除了 Internet Explorer 7 外,它运行良好。谢谢 MS。
出于演示目的,我创建了这个简单的 HTML。下拉菜单打开以快速说明问题。在 IE 7 中,下拉菜单被剪切到顶级菜单的宽度。在 IE8 和 IE9 中这不是问题。
我可以通过添加以下 javascript 来解决此问题:
element.style.width = 320px
效果很好,但是我需要像 IE8 或 IE9 那样自动完成,否则我必须分别计算每个下拉菜单的宽度。
下面的 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
ul.menu {list-style:none;font:10px Trebushet MS;font-weight:bold;margin:0;padding:0;position:absolute;left:86px;top:90px;line-height:100%;height:15px}
ul.menu * {margin:0;padding:0;cursor:pointer}
ul.menu .header {position:relative; float:left;color:#999999;padding: 3px 12px 2px 4px;white-space:nowrap}
ul.menu .header ul {position:absolute; top:15px; left:0;background:#f0f0f0; overflow: hidden;list-style:none}
ul.menu .header ul li {position:relative; padding: 3px 25px 3px 10px; white-space:nowrap; display: block}
ul.menu .header ul li:hover {background-color:#dcdcdc}
</style>
</head>
<body>
<ul class="menu" id="menu">
<li class="header">
CREATE
<ul>
<li>A really really long description of nothing valuable</li>
<li>test1</li>
<li>test2</li>
<li>test3 and again very long</li>
</ul>
</li>
<li class="header">
SEARCH
<ul>
<li>test1</li>
<li>test1</li>
<li>test1</li>
<li>test1</li>
</ul>
</li>
</ul>
</body>
</html>