当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 巧用CSS制作树状目录

HTML/XHTML教程
一些不太常用的XHTML标签用法以及实例
网页中图片的设置涉及的三个问题
商业HTML邮件的制作建议
HTML Marquee 字符片段滚动
DOCTYPE 文档类型声明(网页爱好者必看)
纯HTML标签你熟悉多少?
HTML元素的ID和Name属性的区别
HTML meta的大作用
HTML标签tbody的用法与说明
HTML 特殊字符转换表
HTML基础 HTML的组成结构
HTML基础之HTML内容细则
Shtml 精简教程
浅谈html table 标签
html Frame、Iframe、Frameset 的区别
HTML 网页页面切换的各种变换效果
HTML的10个表格相关标记
让IE8启动IE7兼容模式的代码
HTML 结构化实现方法
xhtml的块级标记小结

HTML/XHTML教程 中的 巧用CSS制作树状目录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 47 ::
收藏到网摘: n/a

索易电子杂志大多采用树状目录,当鼠标点击主目录时,展开子目录;当再次点击主目录时,则关闭子目录。显得简捷明快,朴实无华。制作这种树状目录的方法较多,最近我利用CSS能方便地控制对象的“显 示”和“隐藏”属性原理,也制作一个,我感到用CSS制作这样的树状目录,方法简单,代码也比较少,所以把它写出来,给网友们共亨,以便在需要的时候也可动手做一个。先看下面的示例:当用鼠标在主目录上点一下,就下拉出相应的子目录,再点一下,又恢复原状,其效果与
索易电子杂志上的目录效果完全一致。 
制作方法: 
  我先把产生这种效果的代码复制如下,然后结合代码讲制作方法: 
〈div id="main1" style="color:blue" onclick="document.all.child1.style.display=(document.all
.child1.style.display =='none')?'':'none'" 〉 
+ 主目录1〈/div〉 
〈div id="child1" style="display:none"〉 
〈a href="#"〉- 子目录1〈/a〉 〈br〉 
〈a href="#"〉- 子目录2〈/a〉 〈br〉 
〈a href="#"〉- 子目录3〈/a〉 〈br〉 
〈a href="#"〉- 子目录4〈/a〉 
〈/div〉 
〈div id="main2" style="color:blue" onclick="document.all.child2.style.display=(document.all
.child2.style.display =='none')?'':'none'" 〉 
+ 主目录2 〈/div〉 
〈div id="child2" style="display:none"〉 
〈a href="#"〉- 子目录1〈/a〉 〈br〉 
〈a href="#"〉- 子目录2〈/a〉 〈br〉 
〈a href="#"〉- 子目录3〈/a〉 
〈/div〉 
  注:“ ”表示一个字符空格 
  1、先定义两个DIV,一个用于主目录,取名为:main1;另一个用于相应的子目录,取名为:child1。  2、在main1的DIV中写上
“+ 主目录1”,并在它的上面加载一个鼠标单击事件:onclick 和一小段javascript程序:document.all.child1.style.display=(document.all.child1.style.display =='none')?'':'none'。这段程序的作用是,当鼠标在main1的DIV上(也就是在“+ 主目录1”上)单击时,如果child1的DIV是隐藏的,让它显示;若是显示的,则让它隐藏。 
  3、在child1的DIV上写上子目录,并把它设置成超级链接,我在上面的示例中是设置了空链接,实际制作时把它改为实链接,以让它指向链接目标。在child1的DIV定义中加上一个CSS:style="display:none",其目的是使子目录开始时处于隐藏状态。 
  其它目录的制作只是重复上面的三步而已。按F12就可看到效果了。这种方法主要是利用了CSS的显示属性:display,它有一个特点就是当对象被隐藏后,对象所占据的页面空间将自动让出。我们知道CSS还一个属性:visibility也具有显示和隐藏的对象的功能,但不能用来制作上面的树状目录。因为Visibility在隐藏对象后,对象所占据的空间并不释放,也就是当隐藏子目录时,子目录的位置只是一片空白而已位置并没有让出来,因此另一个主目录也就无法靠拢。所以它只能用于那些需要固定页面元素位置的地方。