已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CSS+div:下拉菜单详解之前由于没有用到下拉菜单,一直没去实践(只在刚学建站时用DW做了一个,无代码亲自操作经历),今天终于抽出时间做了一个下拉菜单,IE6、IE7、/FF下通用不变形,其实这个很基础,但对于往标准化转变有很好的促进作用。先把关键点和思路摘录一下:1、结构布局:在菜单版块上,下拉的菜单也是放在UL中,但必需要嵌套在其父级的LI中,如下首页CSS专栏CSS基础CSS常用代码CSS高级技术 在这样的结构中,上层的DIV等标签不能用overflow:hidden; ,否则下拉菜单会出不来。我清晰的记得,刚学DW建站的第一个月,就用DW做了一个下拉菜单,但现在回去去看,那个更多依靠的是JS,有时定位不准会产生 下拉菜单跑位。而这样嵌套后,一会通过定位,就不会偏移。在实际应用时,nav可以加入LOGO等内容,而nav_top才是用于控制菜单。2、样式继承:由于在CSS中的组合选择符,会对其下的同样子标签会赋予同样的样式特征,因此,当我们对第一层的UL和LI定义时,下拉部分也会被带上同样的样式,先不 管这个,最后再去修正下拉部分的UL和LI。A、第一层样式定义:body margin: 0px;padding: 0px;font-size:12px;#nav /* 略 */width:800px;margin:0 auto;#nav ul #nav ul li float: left;#nav ul li a #nav ul li a:hover B、父层LI的相对定位:接着最关键就是定义:#nav ul li position:relative;把第一层 的LI定义成相对定位后,下拉菜单的绝对定位就不会偏移,而以其上层的LI做为参照,此外,需要对下拉菜单的列表做2项工作:第一项:设置下拉列表的UL不显示:#nav ul li ul 设为display:none。以及绝对定位position:absolute; left:3px; top:24px; 。第二项:对下拉列表的LI浮动进行清除#nav ul li ul li 设为float:none;如果不清除也可以,但下拉列表的UL要设置宽度width:99px;,当不设置此宽度也不清除浮动继承时,下拉菜单就变成横向出向, 如果你需要这种下拉效果,就不清除吧,如下图:#nav ul li position:relative;#nav ul li ul display:none;margin:0;padding:0; position:absolute; left:3px; top:24px; background-color:#FC9;width:99px;border-bottom:1px solid #FC0;#nav ul li ul li width:99px;float:none;border:0px 1px;C、光标移上去的状态定义:定义完上面后,接着对下拉菜单在光标移到上层LI时的状态控制:#nav ul li ul li a,#nav ul li ul li a:hoverbackground:#3CF;width:98px;margin-left:0;text-align:left;border-top:1px solid #FC0;padding-left:5px;color:#000#nav ul li:hover ul, #nav li.over uldisplay:block;这两行中,第一行#nav ul li ul li a,#nav ul li ul li a:hover 作 用是更改整个菜单第一层的LI对下拉部分影响,避免由于继承影响样式。第二行是用于当光标移上去后,下拉菜单出现。大家可能注意到其中的.over类,我们并没有在结构代码中设置,这是为了控制等下JS生成的类。在#nav ul li:hover ul中,FF下 已经能够生效,不需要JS,但IE6下不行,需要通过后半句#nav li.over ul配合JS来生效。D、javascript代码:var showNavList = function()if(document.all&document.getElementById)var navRoot = document.getElementById(“nav_top”); /注意不能用nav。for(i=0;inavRoot.childNodes.length;i+)var node = navRoot.childNodesi;if(node.nodeName=LI)node.onmouseover=function()this.className+= over; /注意over前面 有一个空格。node.onmouseout =function()this.className = this.className.replace( over,”);window.onload = showNavList;这样,我们整个下拉菜单就完成了,效果参下面图例,完整代码附到后面,实际应用中,对下拉样式再做美化即可。CSS测试var showNavList = function()if(document.all&document.getElementById)var navRoot = document.getElementById(nav_top);for(i=0;inavRoot.childNodes.length;i+)var node = navRoot.childNodesi;if(node.nodeName=LI)node.onmouseover=function()this.className+= over;node.onmouseout =function()this.className =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年青少年航天知识竞赛真题卷及答案
- 2025年体育健身行业智能健身装备研究报告及未来发展趋势预测
- 2025年金融科技行业监管政策与创新模式研究报告及未来发展趋势
- 2025年医药行业医疗健康大数据应用案例研究报告及未来发展趋势预测
- 2025广东中山市沙溪镇人民政府所属事业单位第二期招聘事业单位人员10人参考题库含答案详解(培优b卷)
- 2025年河北邯郸市文化广电和旅游局为市平调落子剧团公开选聘戏曲演员及演奏员16名参考题库含答案详解(新)
- 2025广东珠海市司法局直属单位招聘合同制职员3人参考题库含答案详解(考试直接用)
- 2025广西来宾市文化广电和旅游局招聘后勤服务控制数人员1人参考题库及答案详解(网校专用)
- 2025广东广州市海珠区民政局遴选事编人员2人参考题库及答案详解(新)
- 2025广西壮族自治区外事办公室直属事业单位招聘重点领域急需紧缺高层次人才1人参考题库附答案详解(达标题)
- 黑龙江省哈尔滨市师范大学附中2025-2026学年高三上学期期中语文试题(含答案及解析)
- DB62T 3130-2017 公路沥青路面碎石封层设计与施工技术规范
- 2025年高中信息技术学业水平考试真题及答案
- 发展历程时间轴
- 自治区幼儿园保育教育质量自评 指导手册 (试行)
- GB/T 16895.3-2024低压电气装置第5-54部分:电气设备的选择和安装接地配置和保护导体
- 知道智慧网课《科技伦理》章节测试答案
- 第三方缴纳社保委托协议
- 《运动和力的关系》牛顿第一定律课件
- WS/T 52-1996尿中马尿酸的分光光度测定方法
- GB/T 12970.4-1991电工软铜绞线第4部分:铜电刷线
评论
0/150
提交评论