2K WebStudio
09.03.2006, 21:08
Вот код выпадающего меню, которое работает в опере, нэтскейпе и мазиле (в других не смотрел), но майкрософт подкачал:(
<html>
<style type="text/css">
<style>
/*Ubiraem markeri*/
ul {
margin: 0;
padding: 0;
width: 40;
list-style: none;
height: 24px;
border: none;
}
ul li {
position: relative;
}
/*Podmenu sprava*/
li ul {
position: absolute;
top:0;
left: 39;
display: none;
}
/*Stili ssilok*/
ul li a {
display: block;
}
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */
li:hover ul { display: block; }
</style>
</style>
<body>
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a>
<ul>
<li><a href="#">Two_one</a></li>
<li><a href="#">Two_two</a></li>
<li><a href="#">Two_three</a></li>
</ul>
</li>
</ul>
</body>
</html>
Вот в IE подменюшки не выскактвают:(
Есть решение при участии JS:
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace »
(" over", "");
}
}
}
}
}
window.onload=startList;
Плюс к этому скрипту в стили добавляется это:
li:hover ul, li.over ul {
display: block;
}
А тэг гд модифицируется таким образом:<ul id="nav">
Теперь сам вопрос.. как заставить это меню выпадать в IE без JS? Просто такая ситуация, что я могу использовать только CSS:(
Заранее спасибо!
<html>
<style type="text/css">
<style>
/*Ubiraem markeri*/
ul {
margin: 0;
padding: 0;
width: 40;
list-style: none;
height: 24px;
border: none;
}
ul li {
position: relative;
}
/*Podmenu sprava*/
li ul {
position: absolute;
top:0;
left: 39;
display: none;
}
/*Stili ssilok*/
ul li a {
display: block;
}
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */
li:hover ul { display: block; }
</style>
</style>
<body>
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a>
<ul>
<li><a href="#">Two_one</a></li>
<li><a href="#">Two_two</a></li>
<li><a href="#">Two_three</a></li>
</ul>
</li>
</ul>
</body>
</html>
Вот в IE подменюшки не выскактвают:(
Есть решение при участии JS:
startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName=="LI") {
node.onmouseover=function() {
this.className+=" over";
}
node.onmouseout=function() {
this.className=this.className.replace »
(" over", "");
}
}
}
}
}
window.onload=startList;
Плюс к этому скрипту в стили добавляется это:
li:hover ul, li.over ul {
display: block;
}
А тэг гд модифицируется таким образом:<ul id="nav">
Теперь сам вопрос.. как заставить это меню выпадать в IE без JS? Просто такая ситуация, что я могу использовать только CSS:(
Заранее спасибо!