DIV+CSS构成的树型菜单

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
作者:海水发布时间:05-12-03浏览次数:545[大 中 小]

了做个树型菜单,看了很多代码,但都没这个简洁,外国人写的,一起分享下:
1 先定义个JS:

<script type="text/javascript">
function toggleMenu(id){
element = document.getElementById(id);
element.className = (element.className.toLowerCase() == 'expanded'?'collapsed':'expande
d');
}
onload = function() {//自动载入闭合状态
toggleMenu('submenuid0');
toggleMenu('submenuid1');
}
</script>


2 css

body {
margin: 0px;
padding: 0;
font: 12px "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
background: #FFFFFF;
text-align: center;
}

ul{
margin: 0;
padding: 0;
list-style: none;
}

#treenav {
margin: 10px;
text-align: left;
}

#treenav ul li {
margin: 1px 0;
padding: 0;
font-size: 11px;
}

#treenav ul.expanded {
display: block;
}

#treenav ul.expanded,#treenav ul.collapsed {
margin: 5px 10px;
}

#treenav ul.collapsed {
display: none;
}

.expanded li,.collapsed li{
/*border-bottom: 1px dashed #CCCCCC;*/
width: 200px;
}

.listhead {
font-weight: bold;
display: block;
font-size: 12px;
color: #333333;
background: #F1F1F1;
padding: 3px;
width: 120px;
margin: 1px 0;
}

#treenav a {
text-decoration: none;
color: #666666;
}

#treenav a:hover {
color: #990000;
}


3 定义树型结构

<!-------------------------------------------------------------------------------------------------------->
<ul>
      <li><a href="somepage" onclick="toggleMenu('submenuid0'); return false;" class="listhea
d">第一章 前言</a> 
  
        <ul class="expanded" id="submenuid0">

  <li><a href="#" onclick="toggleMenu('sub0_submenuid1');">第一节 网站设计概述</a>
     <ul class="collapsed" id="sub0_submenuid1">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li>  
  
  <li><a href="#" onclick="toggleMenu('sub0_submenuid2');">第二节 网站设计概述</a>
     <ul class="collapsed" id="sub0_submenuid2">
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li> 
        
</ul>

  </li>
 </ul>
<!-------------------------------------------------------------------------------------------------------->
<ul>
      <li><a href="somepage" onclick="toggleMenu('submenuid1'); return false;" class="listhea
d">第一章 前言</a> 
  
        <ul class="expanded" id="submenuid1">

  <li><a href="#" onclick="toggleMenu('sub1_submenuid1');">第一节 网站设计概述</a>
     <ul class="collapsed" id="sub1_submenuid1">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li>  
  
  <li><a href="#" onclick="toggleMenu('sub1_submenuid2');">第二节 网站设计概述</a>
     <ul class="collapsed" id="sub1_submenuid2">
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页制作一般过程</a></li>
     <li><a href="#">网页设计的价格标准</a></li>
     <li><a href="#">网页设计的价格标准</a></li>          
 </ul>
  </li> 
        
</ul>

  </li>
 </ul>

<!--------------------------------------------------------------------------------------------------------> 
树形菜单的设计与实现:从基础到高级 树形菜单是一种常见的用户界面元素,模仿了文件夹结构的层级显示方式。它通常用于表示具有父子关系的数据结构,比如组织结构、网站导航栏等。这种结构使得用户可以方便地浏览和管理分层信息。在计算机科学中,树是由节点组成的层次数据结构,其中每个节点都有零个或多个子节点,称为子节点。树结构具有以下基本属性:根节点:树的最顶层节点,不具有父节点。子节点:节点直接连接到另一个节点的节点。叶子节点:没有子节点的节点。边:连接两个节点的线段,表示它们之间的父子关系。路径。 阅读详情

相关推荐

html+css之树形菜单

div+css布局。实现菜单的简单竖型排版。仅供初学者学习研究

CSS实现树谱图

树谱图的实现,是利用列表嵌套的原理,折线使用伪类::before及::after实现。 &lt;div class="tree"&gt; &lt;ul class="treeul"&gt; &lt;li&gt; &lt;div class="dv"&gt;0&lt;/div&gt; &amp

Jester的博客 2302

CSS树形菜单

前端树形菜单源码,前端树形菜单源码,前端树形菜单源码

js显示树形结构,div+css+js

复制的: tree .node ul{ margin-left:20px; } .node .node{ display:none; } .node .tree{ height:24px; line-height:24px; } .ce_ceng_close{ background:url(images/cd_zd1.png) left cente

jcroad的博客 2811

div实现tree目录树dome实例、加实现逻辑介绍

实现逻辑: / ** *树结构需要字段 * 1.树键 * 2.树值 * 3.点击对应的键展示对应的值 *重点 * 1.key和值有同一id * 2.value中有唯一的类提供给钥匙点击后做事件使用 * * / 目录书截图: 代...

银河系天城知识宝库_技术专家蒋浩宇 1万+

DIV+CSS+JS树形菜单,可以刷新不改变菜单

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head>&lt...

anjichan4261的博客 224

Div+CSS+JS树形菜单,可刷新

Div+CSS+JS树形菜单,可刷新 &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "&lt;a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank"&gt;http://www.w3.org/TR/xht...

lxs30 180

DIV+CSS构成树型菜单 选择自 lxldtl 的 Blog

 这是用DIV+CSS+JS构成树型菜单,采用列表,符合WEB标准,在大多数WIN浏览器下,兼容性不错,xhtml见效果页,我现在做的是二个菜单,如果需要添加,可把......之间的内容加上去,"submenuid"加1,查看效果。CSS代码body { margin: 0px; padding: 0; font: 12px "Lucida Grande", Verdana, Arial, He

qdzx2008的专栏 1085

html菜单树实现原理,HTML_DIV+CSS构成树型菜单,这是用DIV+CSS+JS构成树型菜单 - phpStudy...

DIV+CSS构成树型菜单这是用DIV+CSS+JS构成树型菜单,采用列表,符合WEB标准,在大多数WIN浏览器下,兼容性不错,xhtml见效果页,我现在做的是二个菜单,如果需要添加,可把......之间的内容加上去,"submenuid"加1,查看效果。CSS代码body {margin: 0px;padding: 0;font: 12px "Lucida Grande", Verdan...

weixin_30109877的博客 304

收展式二级菜单toggleMenu

插件描述:点击第一级菜单时,能够收展、切换第二级菜单,第二级菜单具有3D旋过渡.参考示例:http://www.jq22.com/jquery-info6171

DIV+CSS构成树型菜单符合web标准

1先定义个JS: <scripttype="text/javascript"> functiontoggleMenu(id){ element=document.getElementById(id); element.className=(element.className.toLowerCase()=='expanded'?'collapsed':'expa...

weixin_30485379的博客 73

HTML---------DIV+CSS构成树型菜单

&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt; &lt;title&gt;DIV+CSS构成树型菜单&lt;/title&gt;

weixin_33720956的博客 193

DIVCSS构成树型菜单

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 453

html中用div排版,HTML_div+css网页布局中对段落进行排版的方法,div css布局中段落使用<p>标 - phpStudy...

div+css网页布局中对段落进行排版的方法div css布局中段落使用标签,对于段落的上下左右的空白(缩进)可以使用margin标签定义样式。margin有上、下、左、右四个方向的定义,正常情况下,我们可以用一行来描述我们需要的样式。例如:margin: 20px 8px 8px 20px;此句分别表示了:margin-top;margin-right;margin-bottom;margin-...

weixin_31141099的博客 553
上一篇: 如何根据浏览器和分辨率调用不同的CSS代码
下一篇: 符合web标准的弹出菜单集(div+css+js)
xiaoyi20
博客等级 码龄23年 3粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值