为什么不在IE下拉菜单?
我有一个下拉菜单,我找到了一个教程。
在Firefox和Opera中,下拉菜单正常工作。 但在Internet Explorer中不起作用。 子派别错位。 他们不是放在他们的父母项下,而是放在右边。
为什么它不在IE中工作? JavaScript代码中的错误应该使它在IE中工作吗?
我的用户说它在IE 7.0.6002.18005和IE 8.0.6中不起作用。
怪癖模式只有在我认为文档缺失的情况下才会使用。 我的文档中有doctype(没有位置2的空格):
<!DOCTYPE html PUBLIC“ - // W3C // DTD XHTML 1.0 Strict // EN”“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
HTML:
<ul id="nav">
<li class="menuentry"><a href="#">Main item 1</a>
<ul>
<li><a href="#">Sub item 1</a></li>
<li><a href="#">Sub item 2</a></li>
<li><a href="#">Sub item 3</a></li>
</ul>
</li>
<li class="menuentry"><a href="#">Main item 2</a>
<ul>
<li><a href="#">Sub item 1</a></li>
<li><a href="#">Sub item 2</a></li>
<li><a href="#">Sub item 3</a></li>
</ul>
</li>
</ul>
CSS:
ul#nav li ul {
position: absolute;
left: -9999px;
top: 100%;
display: block;
width: 100px;
background-color: transparent;
}
ul#nav li {
position: relative;
float: left;
}
/* LINKS IN DROP DOWN LISTS START */
ul#nav li ul li a, ul#nav li#current ul li a {
clear: left;
display: block;
text-decoration: none;
width: 100px;
background-color: #333;
color: #fff;
}
ul#nav li ul li a:hover, ul#nav li#current ul li a:hover {
text-decoration: none;
background-color: #ececec;
color: #333;
}
/* LINKS IN DROP DOWN LISTS END */
/* CHANGE BETWEEN VISIBLE AND INVISIBLE START */
ul#nav li:hover ul, #nav li.sfhover ul {
left: auto;
}
/* CHANGE BETWEEN VISIBLE AND INVISIBLE END */
JavaScript的:
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
addEvent(sfEls[i], "mouseover", function() {
this.className+=" sfhover";
});
addEvent(sfEls[i], "mouseout", function() {
this.className=this.className.replace(new RegExp(" sfhoverb"), "");
});
}
}
function addEvent(el, name, func) {
if (el.attachEvent)
el.attachEvent("on" + name, func);
else
el.addEventListener(name, func, false);
}
addEvent(window, "load", sfHover);
IE7在auto
边距方面存在问题。 只需从left: auto
改变悬停边距left: auto
到left: 0px
,它应该工作。
如何添加在ul和li项目上设置填充/边距,如下所示:
ul#nav li ul {
position: absolute;
left: -9999px;
top: 100%;
display: block;
width: 100px;
background-color: transparent;
padding-left:0px;
margin-left:0px;
}
ul#nav li {
position: relative;
float: left;
list-style-type: none;
padding-left:0px;
margin-left:0px;
}
/* LINKS IN DROP DOWN LISTS START */
ul#nav li ul li a, ul#nav li#current ul li a {
clear: left;
display: block;
text-decoration: none;
width: 100px;
background-color: #333;
color: #fff;
}
ul#nav li ul li a:hover, ul#nav li#current ul li a:hover {
text-decoration: none;
background-color: #ececec;
color: #333;
}
/* LINKS IN DROP DOWN LISTS END */
/* CHANGE BETWEEN VISIBLE AND INVISIBLE START */
ul#nav li:hover ul, #nav li.sfhover ul {
left: auto;
}
/* CHANGE BETWEEN VISIBLE AND INVISIBLE END */
链接地址: http://www.djcxy.com/p/96463.html