`
azrael6619
  • 浏览: 580948 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

网页导航菜单弹出子菜单的制作

阅读更多

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

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

水平式菜单鼠标经过时弹出子菜单:

 

参考代码:

<STYLE type=text/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;
}

</STYLE>

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>

<script type="text/javascript">
<!--
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;
--></script>

 

垂直式菜单鼠标经过时弹出子菜单:

参考代码:

<STYLE type=text/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: 180px; text-align: left;
}

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

#nav a {
display: block; width: 180px; w\idth: 180px;
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: -99em; 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: 180px; top: 0px;
}

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

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

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

</STYLE>

<script type="text/javascript">
<!--
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
 }
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
 }
 }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

--></script>

<body>
<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>
</body>

分享到:
评论

相关推荐

    DW制作弹出菜单

    在网页制作中,弹出菜单的设计和实现可以增加用户体验的互动性。通过Dreamweaver MX 2004内置的行为功能,开发者可以轻松地为文字添加交互性,使文字在鼠标悬停时触发弹出菜单。以下是对创建弹出菜单的详细步骤的...

    css纵向导航菜单及二级弹出菜单

    本主题聚焦于“css纵向导航菜单及二级弹出菜单”,这是一种常见的交互式网页设计技术,尤其适用于内容层次丰富的网站。 首先,让我们详细了解纵向导航菜单。纵向菜单,也称为侧边栏菜单,通常位于网页的一侧(左侧...

    弹出菜单网页制作

    弹出菜单网页制作是网页设计中的一个重要组成部分,它能够提供用户友好的交互体验,使得访问者可以更加便捷地浏览和导航网站。在本实例中,我们将重点探讨如何使用Dreamweaver MX 2004来创建这样的弹出菜单。 首先...

    div+css制作的弹出菜单

    3. 定位子菜单:通过`position`属性定位子菜单,使其在父菜单下方弹出。可以使用`relative`或`absolute`,具体取决于布局需求: ```css .parent { position: relative; /* 使父菜单相对定位 */ } .sub-menu { ...

    水平竖弹向上多级弹出菜单.rar

    然后,通过调整`top`、`left`、`right`和`bottom`属性,可以控制菜单弹出的方向和位置。同时,CSS的过渡效果(`transition`)配合JS可以实现弹出的动画效果。 总结来说,这个“水平竖弹向上多级弹出菜单”项目涉及...

    Flash menu 网页导航菜单菜单

    Flash菜单在此基础上增加了互动性和动态效果,可以包括滑动、折叠、弹出等动画,使得导航过程更具趣味性。 【制作Flash版的网站导航菜单】涉及以下几个关键步骤: 1. **规划菜单结构**:首先,需要确定菜单的层次和...

    京东商城左侧弹出式菜单设计制作

    在网页设计中,京东商城的左侧弹出式菜单是一个常见的交互元素,它为用户提供了一种高效、直观的方式来浏览和访问网站的多层次结构。这个菜单设计不仅提升了用户体验,也优化了网站的信息架构。以下是对京东商城左侧...

    jquery弹性竖导航网页菜单

    在制作弹性竖导航菜单时,jQuery的主要作用在于实现菜单项的动态响应,例如鼠标悬停时的高亮效果、点击展开子菜单等。 1. **DOM操作**:jQuery提供了一系列方法来查找、操作和添加HTML元素。在创建弹性导航菜单时,...

    五款纯div+css制作的弹出菜单

    在本主题中,我们将探讨五款利用纯`div` 和 `css` 制作的弹出菜单,这些菜单在网站交互中起着关键作用,为用户提供了一种便捷的导航方式。 1. **基础的下拉菜单** 这是最常见的弹出菜单类型,通常出现在导航栏中。...

    div+css制作的弹出三级菜单

    本话题将重点讨论如何利用`div+css`技术制作一个实用的弹出式三级菜单,这个菜单适用于网站导航,方便用户快速访问深层次的页面内容,并且易于进行二次开发。 首先,`div`元素是HTML中的一个通用容器,可以容纳其他...

    纯div+css制作的弹出菜单

    一个弹出菜单通常由主菜单项组成,这些菜单项可以展开或收起以显示子菜单。对于一个水平三级的菜单,我们可能有以下结构: ```html 一级菜单1 &lt;li&gt;&lt;a href="#"&gt;二级菜单1.1&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="#"&gt;二级...

    京东商城最新弹出菜单js特效代码

    弹出菜单通常由主菜单项和与其关联的子菜单组成,当用户鼠标悬停在主菜单项上时,子菜单会以动画效果弹出,展示更多选项。这种设计可以有效地节省页面空间,提高用户体验。 在实现京东商城的弹出菜单特效时,我们...

    JQ导航弹性下拉菜单

    在网页设计中,导航菜单的重要性不言而喻。它需要简洁明了地展示网站的主要结构,同时在鼠标悬停或点击时能够快速响应,弹出下级菜单。JQ导航弹性下拉菜单就实现了这一功能,通过jQuery的事件监听和DOM操作,使得...

    网页特效下拉菜单制作

    在网页设计中,下拉菜单是一种常见的交互元素,它...理解这些基础技术和交互原理,可以帮助开发者创建出更加美观、易用的网站导航菜单。通过不断实践和优化,可以打造出适应不同场景、满足多样化需求的下拉菜单特效。

    纯css制作的弹出菜单

    在网页设计中,创建交互式的用户体验是至关重要的,而弹出菜单正是实现这一目标的有效工具。"纯CSS制作的弹出菜单"是一个专注于利用CSS(层叠样式表)技术来构建这种功能的方法,无需借助JavaScript或者其他编程语言...

    js天猫弹性导航菜单栏代码.rar

    【标题】:“js天猫弹性导航菜单栏代码.rar” 【描述】:“js天猫弹性导航菜单栏代码”这个项目可能是一个基于JavaScript实现的天猫网站风格的弹性导航菜单栏代码。这种菜单栏通常具有响应式设计,能够根据用户的...

    如何在Dreamweaver 制作弹出菜单

    通过设置x轴和y轴参数,可以精确控制菜单弹出的位置,确保它不会遮挡其他重要的网页元素。 6. **保存并预览**: 完成以上所有设置后,记得保存你的网页文件。然后在Dreamweaver内置的浏览器预览或外部浏览器中打开...

    Flashcs3弹出菜单教程及实例

    弹出菜单在网页设计中起着至关重要的作用,因为它们能够提供简洁的导航方式,使用户可以轻松访问网站的不同部分。通过学习这个教程,你将掌握在Flash CS3中构建弹出菜单的关键技术和步骤。 首先,让我们了解弹出...

    div制作的弹出菜单

    在Web开发中,导航菜单是任何网站不可或缺的一部分。它不仅能够帮助用户快速找到所需的信息,还能提升用户体验。本篇文章将深入探讨如何使用纯HTML与CSS来创建一个具有三级下拉功能的导航菜单。该菜单具有高度的...

    纯DIV+CSS制作的竖向三级弹出菜单代码

    标题与描述中提到的“纯DIV+CSS制作的竖向三级导航弹出菜单代码”是指在网页设计中,不借助JavaScript等脚本语言,仅通过HTML的`div`元素和CSS样式表来实现一个具有竖向布局、三级层次结构且支持鼠标悬停时自动弹出...

Global site tag (gtag.js) - Google Analytics