符合web标准的弹出菜单集(div+css+js)

转载 2006年06月08日 17:52:00
水平方向的PopMenu-弹出菜单(DIV+CSS+JS)

此POPMENU根据alistapart的articles改编,比DW中用显示、隐藏层的方法要简单。在IE6.0 IE5.X Firefox 
NS都能正确显示,只用到很少的JS代码,使用时只要把<ul></ul>部分插入需要的地方即可,不会因分辨率不同
而发生错位的现象。
菜单演示>>

CSS代码

li ul { 
 display: none;
 left: -40px;
 position: absolute;
 top: 24px;
 width: 490px; /*opera需要这个宽度,
 可根据导航条的实际宽度作调整*/
}

li ul li{ 
 display: inline;
}

li ul li a{ 
 background: url(h_line.gif) no-repeat 0px 7px;
 color: #666666;
 font-weight: normal;
 padding: 6px;
 text-align: left;
}

li ul li a:hover{ 
 background: url(h_line.gif) no-repeat 0px 7px;
 color: #DC4E1B;
 text-decoration: underline;
}

li ul,li ul li{ 
 border: 0px;
}
li:hover ul, li.over ul,ul li:hover { 
 display: block;
}

ul { 
 list-style: none;
 margin: 0px;
 padding: 0px;
 font: normal 11px verdana;
}

ul li { 
 border: solid 1px #CCCCCC;
 border-left: 0px;
 float: left;
 position: relative;
}

ul li a { 
 background: #F5F5F5;
 color: #666666;
 display: block;
 font-weight: bold;
 padding: 5px 10px;
 text-align: center;
 text-decoration: none;
}

ul li a:hover { 
 background: #DC4E1B;
 color: #FFFFFF;
}

.left{ 
 height: 24px;
 width: 1px;
}


html:

<ul id="nav">
  <li class="left"></li><li><a href="#">Home</a></li> 
<li><a href="#">About</a><ul> <li><a href="#">Sub menu 21</a>
</li><li><a href="#">Sub menu 22</a></li> <li><a href="#">
Sub menu 23</a></li><li><a href="#">Sub menu 24</a></li> </ul>
</li> <li><a href="#">Products</a><ul><li><a href="#">Sub menu 31
</a></li> <li><a href="#">Sub menu 32</a></li> <li><a href="#">
Sub menu 33</a></li> <li><a href="#">Sub menu 34</a></li></ul> 
</li> <li><a href="#">Services</a><li><a href="#">Contact Us
</a></li>
</ul>


js代码
startList = function() { 
if (document.all&&document.getElementById) { 
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) { 
node = navRoot.childNodes;
if (node.nodeName=="LI") { 
node.onmouseover=function() { 
this.className+=" over";
}
node.onmouseout=function() { 
this.className=this.className.replace(" over", "");
}
}
}
}
}
window.onload=startList;




--------------------------------------------------------------------------------


垂直方向:菜单演示>>

css:

body { 
 font-family: Arial, Helvetica, sans-serif;
 font-size: 11px;
}

#nav, #nav ul { 
 list-style: none;
 background: #F9F9F9;
 font-weight: bold;
 padding: 0px;
 margin: 0px;
 border: solid 1px #CCCCCC;
 border-bottom: 0px;
 width: 150px;
 text-align: left;
}

#nav ul ul{ 
 border: solid 1px #CCCCCC;
 border-bottom: 0px;
}

#nav a { 
 display: block;
 width: 150px;
 w/idth: 140px;
 color: #333333;
 text-decoration: none;
 text-align: center;
 border-bottom: solid 1px #CCCCCC;
 text-align: left;
 padding-left: 10px;
}

#nav a:hover{ 
 color: #336666;
}

#nav a.selected{ 
 background: url(../images/arrow.gif) no-repeat right 50%;
}

#nav li { 
 line-height: 22px;
 position: relative;
}

#nav li ul { 
 position: absolute;
 left: -999em;
 width: 150px;
 font-weight: normal;
 margin: 0px;
 padding: 0px;
}

#nav li li { 
 width: 150px;
}

#nav li ul a { 
 width: 150px;
 w/idth: 126px;
 padding: 0px 12px;
 line-height: 22px;
 text-align: left;
}

#nav li ul ul { 
 margin: 0px 0 0 150px;
}

#nav li:hover ul ul,#nav li.sfhover ul ul{ 
 left: -999em;
}

#nav li:hover ul, #nav li li:hover ul,#nav li.sfhover ul, #nav li li.sfhover ul{ 
 left: auto;
}

#nav li:hover ul,#nav li.sfhover ul{ 
 left: 150px;
 top: 0px;
}

#nav li:hover, #nav li.sfhover { 
 background: #F5E3C0;
}

* html #nav li { 
 float: left;
 height: 1%;
}

* html #nav li a { 
 height: 1%; 
}


js:

<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() { 
 var sfEls = document.getElementById("nav").getElementsByTagName("LI");
 for (var i=0; i<sfEls.length; i++) { 
  sfEls.onmouseover=function() { 
   this.className+=" sfhover";
   }
  sfEls.onmouseout=function() { 
   this.className=this.className.replace(new RegExp(" sfhover//b"), "");
   }
  }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>


html:

<ul id="nav">
<li><a href="">Home</a></li>
<li><a href="/aboutme.html">About Me</a></li>
<li><a class="selected" href="/tutorials.html">Tutorials</a>
 <ul>
 <li><a href="#">Sub Menu 31</a></li>
 <li><a class="selected" href="#">Sub Menu 32</a>
 <ul>

 <li><a href="#">Sub Menu 321</a></li>
 <li><a href="#">Sub Menu 322</a></li>
 <li><a href="#">Sub Menu 323</a></li>
 <li><a href="#">Sub Menu 324</a></li>
 </ul>
 </li>
 <li><a href="#">Sub Menu 33</a></li>

 <li><a href="#">Sub Menu 34</a></li>
 </ul>
</li>
<li><a class="selected" href="/gallery/gallery.html">Gallery</a>
<ul>
 <li><a href="#">Sub Menu 41</a></li>
 <li><a class="selected" href="#">Sub Menu 42</a>
 <ul>

 <li><a href="#">Sub Menu 421</a></li>
 <li><a href="#">Sub Menu 422</a></li>
 <li><a href="#">Sub Menu 423</a></li>
 <li><a href="#">Sub Menu 424</a></li>
 </ul>
 </li>
 <li><a href="#">Sub Menu 43</a></li>

 <li><a href="#">Sub Menu 44</a></li>
 </ul>
</li>
<li><a href="#">Contact Me</a></li>
</ul>


WEB标准中浏览器之间兼容的小方法

WEB标准中浏览器之间兼容的小方法设BOX 宽度为300px,在IE5.x浏览器中,对BOX的宽度解释有个bug,它认为300 px是BOX的总宽度,内容的宽度变成:300-2*10-2*5=270p...
  • myfreeway
  • myfreeway
  • 2006年09月12日 21:02
  • 578

Web标准验证地址

如果你想知道你作的网页是否符合标准可以到如下地址去验证,就能知道哪里不符合标准http://validator.w3.org/ ...
  • greki
  • greki
  • 2006年11月10日 08:36
  • 629

水平方向的PopMenu弹出菜单(DIV+CSS+JS)

在IE6.0 IE5.X Firefox NS都能正确显示,只用到很少的JS代码,使用时只要把部分插入需要的地方即可,不会因分辨率不同而发生错位的现象。受本页例子CSS影响,该页面的CSS样式也发生了...
  • chinmo
  • chinmo
  • 2008年02月20日 12:50
  • 1286

水平方向的PopMenu-弹出菜单(DIV+CSS+JS)

此POPMENU根据alistapart的articles改编,比DW中用显示、隐藏层的方法要简单。在IE6.0 IE5.X Firefox NS都能正确显示,只用到很少的JS代码,使用时只要把部分插...
  • ytbada
  • ytbada
  • 2007年01月04日 14:21
  • 761

符合Web标准的下拉菜单

function runCode() //定义一个运行代码的函数,{ var code=event.srcElement.parentElement.children[0].value;//即要运...
  • griefforyou
  • griefforyou
  • 2005年05月23日 22:15
  • 2336

符合Web标准的超链接

在HTML 4.0 Strict和XHTML 1.0 STRICT里不允许在标签里使用target属性,这是一件令网页设计者懊恼的事.在过渡的规范里还是允许使用的.但通过一定的方法,我们可以解决这一问...
  • xychen2008
  • xychen2008
  • 2007年05月25日 09:12
  • 416

什么是Web标准?

待续。。。。
  • annsheshira23
  • annsheshira23
  • 2015年07月23日 20:55
  • 599

WEB、WEB标准、W3C的理解

Web,web标准,w3c的简单认识与理解
  • summer_zmc
  • summer_zmc
  • 2016年12月20日 22:28
  • 583

符合web标准的flash html代码

符合web标准的flash html代码            type="application/x-shockwave-flash" width="180" height="180">      ...
  • wind00sky
  • wind00sky
  • 2009年09月29日 22:44
  • 408

符合Web标准的在线编辑器:widgEditor [

要为www.zhandou.net做后台管理,只好找一些支持Web标准的在线编辑器,今天开始找了一下,将会逐个在这里做一个介绍,第一个先来介绍非常强的免费的符合Web表准的在线编辑器widgEdito...
  • erphome8
  • erphome8
  • 2006年05月17日 23:30
  • 2288
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:符合web标准的弹出菜单集(div+css+js)
举报原因:
原因补充:

(最多只允许输入30个字)