如何使用纯CSS技术实现一个可折叠树形菜单

html-css010

如何使用纯CSS技术实现一个可折叠树形菜单,第1张

利用伪类可以实现点击打开折叠菜单,但是再次点击收起貌似就没法实现了。跟楼下说的一样,利用:hover、:active 可以设置二级菜单的样式(如height、visibility、display)以达到展开的效果。

<!DOCTYPE html>

<html>

  <head>

<meta http-equiv="Content-Type" content="text/html charset=UTF-8">

<title>

RunJS 演示代码

</title>

<script>

function show (c_Str) {

c_Str = eval(c_Str)

c_Str.style.display == 'none' ? c_Str.style.display='block':c_Str.style.display='none'

}

</script>

  </head>

<body>

    <table>

<tr>

<td>

<div  id="ssa" onclick="show('a0')">

fdgfdfg 

</div>

<div id="a0">

<li>

00

</li>

<li>

01

</li>

</div>

</td>

</tr>

</table>

  </body>

</html>

<%@ page language="java" contentType="text/htmlcharset=utf-8"%>

<%@ taglib prefix="s" uri="/struts-tags"%>

<HTML><HEAD>

<link href="<%=request.getContextPath()%>/css/dtree.css" rel="stylesheet" type="text/css">

<script type="text/javascript" src="<%=request.getContextPath()%>/js/dtree.js"></script>

</HEAD>

<BODY bgColor=#DDF0FB leftMargin=0 topMargin=0 marginwidth="0" marginheight="0">

<div class="dtree">

<script type="text/javascript">

d =new dTree('d',"<%=request.getContextPath()%>")

<s:iterator value="powerpage.list2" id="map">

<s:if test="#map.URL==null">

d.add("${map.id}","${map.parent_id}","${map.name}")

</s:if>

<s:else>

d.add("${map.id}","${map.parent_id}","${map.name }","","<%=request.getContextPath()%>/${map.url}","","right")

</s:else>

</s:iterator>

document.write(d)

</script>

</div>

</BODY>

</HTML>