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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
水平方向的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>


UI.Vision RPA:免费开源跨平台自动化工具实战指南 RPA(机器人流程自动化)是一种模拟人类在计算机上执行重复性任务的技术,其核心原理是通过录制或脚本控制鼠标、键盘及界面元素,实现业务流程的自动化。这项技术的价值在于能显著提升工作效率,减少人为错误,解放人力去处理更高价值的工作。其应用场景广泛,涵盖数据采、报表生成、系统迁移、跨软件操作等日常办公与数据处理领域。本文聚焦于UI.Vision RPA这一工具,它作为一款免费、开源的跨平台自动化解决方案,特别适合个人开发者、小团队及作为自动化项目的原型验证工具。通过结合视觉识别与浏览器扩展技术,UI.Visio 阅读详情

相关推荐

Gemini 2.5 Pro深度实测:重构AI推理范式的工程级思考模型

AI推理能力正从‘表面流畅’迈向‘可验证的逻辑闭环’——这不仅是大模型技术演进的核心命题,更是开发者日常面对复杂问题时对‘可信辅助’的根本需求。本文聚焦推理模型的本质特征:动态思维链规划、符号化知识校验与多粒度代码验证,解析其如何将自然语言指令转化为具备软件工程契约意识的生产级输出。结合真实开发场景(API成、异步重构、Rust编译修复、论文公式推导等),揭示该能力在提升调试效率、降低边界漏洞、增强代码可维护性等方面的技术价值。特别面向使用Google Cloud API的企业开发者与技术决策者,提供服务

weixin_33769125的博客 661

WEB网页上实现右击功能,制作网页右键弹出菜单,右击网页弹出菜单.zip

WEB网页上实现右击功能,制作网页右键弹出菜单,右击网页弹出菜单.zip 使用该技术可实现WEB网页游戏,左键选中,右键下发指令目的

Selenium ActionChains实战:掌握鼠标键盘事件,实现复杂UI自动化测试

UI自动化测试的核心在于模拟真实用户操作,而鼠标和键盘事件是实现这一目标的关键技术。其原理是通过WebDriver协议将操作序列化为底层输入指令,驱动浏览器执行。这项技术的价值在于能够处理点击、输入之外的复杂交互场景,如拖拽排序、右键菜单、快捷键操作等,从而提升测试覆盖率和可靠性。在Web应用、后台管理系统及SaaS平台的测试中,模拟连续的用户操作流是必不可少的。本文聚焦于Selenium的ActionChains工具,详细解析如何通过动作队列构建并执行鼠标悬停、拖拽、组合键等高级交互,并融入**右键点击*

CURSED! 466

javaFX学习笔记之 管理Web弹出式窗口

管理Web弹出式窗口

zy103118的博客 1117

[Web]最简单的方法实现工具条菜单上的弹出式菜单

显示效果如下:实现代码如下:PopupMenu.htmDOCTYPE 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>   

qghboy.Net专栏 1407

Web弹出下拉菜单

是模仿淘宝右上角的那种的下拉菜单,挺好用的,有详细说明,都能看懂,欢迎大家下载!

弹出式菜单

完整的弹出式菜单 包含cssjs样式 运行页面会弹出一个圆形菜单 鼠标拖动可调节位置 鼠标悬浮可唤出子菜单 点击子菜单可跳转至相对应页面 特效比较炫酷 欢迎下载

js弹出式菜单--经典Menu

一个关于Menu的javascript类库:1.实现静态菜单(页面载入时生成菜单内容);2.可以使用Ajax动态加载菜单内容;

[特殊字符] 移动端前端开发全面指南(超详细版)

​ 📱 移动端前端开发全面指南(超详细版) 一、移动端开发概述 随着智能手机的普及,Web 应用必须适配不同尺寸的屏幕和不同设备。 移动端开发的核心目标是: 二、视口(Viewport)基础 1️⃣ 什么是视口 视口是浏览器用于渲染页面的可视区域。 移动端浏览器默认会模拟 PC 视口,导致页面缩放显示。 2️⃣ 标准视口标签 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 常用完整写法 <me

2301_81098389的博客 691

Web前端最全面试宝典- Html篇

HTML 1.对WEB标准以及W3C的理解与认识 标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链cssjs脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性; 2.xhtml和html有什么区别 HTML是一种基本

小飞侠的博客 1201

Python生态GUI框架:Gooey、Pywinauto、PyQuery、JustPy、Maliang、WhakerPy

Python生态GUI框架:Gooey、Pywinauto、PyQuery、JustPy、Maliang、

lonelymanontheway的博客 638

开源项目教程:Wixel的jQuery Popdown

开源项目教程:Wixel的jQuery Popdown 项目介绍 Wixel的jQuery Popdown是一款基于jQuery的弹出菜单插件。它提供了简单而优雅的方式来实现下拉菜单或其他类型的弹出式交互元素,提高了用户体验。这个插件易于成,高度可定制,支持响应式设计,适合Web开发中的各种场景。 项目快速启动 要快速启动使用jQuery Popdown,首先确保你的项目中已经包含了jQuery...

gitblog_00491的博客 529

web 自定义右击弹出菜单

在网页中自定义右击弹出菜单.在网页中自定义右击弹出菜单.

div制作的弹出菜单

div+css制作三级dropdown弹出菜单 导航菜单

【信息科学与工程学】计算机科学与自动化——第六十三篇 人机交互之前端交互参数知识库01

此方案可满足千万级并发需求,同时支持时序数据、知识图谱和文档数据库的高效处理,通过云原生架构实现极致弹性。​:每月约$15-20万(100节点K8s+数据库+CDN流量)1. 宠物上架/下架流程。

weixin_49199313的博客 1424

Playwright Skill模式:零配置端到端测试新范式

端到端测试(E2E Testing)是保障Web应用质量的关键环节,其核心在于在真实浏览器环境中模拟用户交互并验证系统行为。传统方案如Selenium依赖复杂环境配置,Cypress受限于运行时模型,而Playwright凭借多浏览器支持、自动等待与精准选择器机制,已成为现代E2E工程的主流技术选型。其中,Skill模式作为Playwright v1.40+官方成的交互式CLI能力入口,通过npx一键启动、内置Chromium运行时、DOM快照捕获与TypeScript类型推导等特性,显著降低测试脚本创建

技术百科 737

Rust GUI开发新范式:基于GPUI框架实现无头组件架构

在现代GUI开发中,组件化架构已成为提升开发效率和维护性的关键技术。其核心原理在于将复杂的用户界面拆分为独立、可复用的单元,通过状态驱动实现UI更新。这种模式的技术价值在于实现了关注点分离,让交互逻辑与视觉表现解耦,从而支持更灵活的设计系统适配和跨平台一致性。在应用场景上,组件化架构特别适合需要严格遵循品牌规范、构建内部UI库或从Web生态迁移的项目。本文聚焦于Rust生态中的GPUI框架,探讨如何通过Base-GPUI项目引入无头组件模式,将Meta开源的Base UI库的交互逻辑移植到本地GUI开发中,

weixin_30271335的博客 373

模板驱动型文档自动化系统:降低排版摩擦的工程实践

文档自动化并非简单导出PDF,而是围绕结构化内容构建可复现、可管控、可分发的确定性生产流程。其核心原理在于以预设模板为规则中枢,通过语义识别(如H1/H2标签)、布局约束(分页/层级/重复元素)与云化资产协同,将非专业用户从格式纠偏中解放。技术价值体现在交付稳定性(PDF/A合规、字体嵌入、加密)、协作实时性(链接式动态更新)与跨平台一致性(SVG矢量、sRGB色彩、多语言字体)。典型应用场景包括客户提案、SaaS产品手册、合规报告及知识付费电子书等需高频、批量、品牌统一输出的业务场景。Sqribble正是

weixin_34221036的博客 358
上一篇: DIV+CSS构成的树型菜单
下一篇: xsl中循环取数据的问题
xiaoyi20
博客等级 码龄23年 3粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值