`
zTreeAPI
  • 浏览: 345747 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zTree v3.5 Css 详解

阅读更多

    zTree 的 css 文件就是 zTreeStyle.css,其实 这里面的 css 内容并不多,熟悉 css 的应该看起来还是挺容易的。


    首先要强调的就是,制作 zTree 时一定要让 ul 容器设置 className:ztree; 这个主要就是为了避免与页面上自定义的css 或者其他插件的css 冲突;但 css 内容太多了,我不可能为了100%的避免冲突,就在 css 内把所有的 css 属性都设置一遍,如果这么做的话这个 css 就太臃肿了,基本上我我对常用的这几个属性进行了重新设定。 所以,如果当你使用 zTree 时出现了样式异常的话,就请用调试工具找到冲突的原因,然后将适用于 zTree 的属性补充到 zTree 的 css 内即可。


    同时,因为 zTree 的 css 都有 .ztree 做约束,所以一般情况下 zTree 的样式是不会引起页面上其他内容样式异常的。


    了解 css 之前先看看 zTree 的 DOM 结构吧:



  • zTree 的结构就是 ul 里面包着 li ,li 里面 再包着 ul ......每一个节点都以一个 li 为主,它的子节点的 DOM 都存在于这个 li 里面的 ul 内 
  • 每个节点 li 的 id 就是这个节点的 tId 值
  • 父节点的 +/- 号就是 li 内的第一个 span, id 是 tId + _switch
  • 节点的名称是 a 标签,id 是 tId + _a
  • 节点的图标在 a 标签内,id 是 tId + _ico
  • 节点的名称文字在 a标签内,id 是 tId + _span
  • 子节点容器 是 ul,id 是 tId + _ul 
  • 节点的 li、a、ul 都带有 level 的 class,这样你可以专门针对不同等级 level 设置自定义的样式


下面开始解析 css 吧:


.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
.ztree {margin:0; padding:5px; color:#333}
.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
.ztree li ul{ margin:0; padding:0 0 0 18px}
.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}

     以上部分是 zTree 的总体样式,看一眼就知道,真么啥好说的了....


.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
	text-decoration:none; vertical-align:top; display: inline-block}
.ztree li a:hover {text-decoration:underline}

     以上部分是 zTree 节点显示名称的 a 标签基本样式


.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}

     以上部分是 zTree 节点当前被选中时的样式,有 Edit 的是处于编辑模式时的样式


.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
	opacity:0.8; filter:alpha(opacity=80)}
.ztree li a.tmpTargetNode_prev {}
.ztree li a.tmpTargetNode_next {}

     以上部分是 zTree 节点拖拽时,目标节点根据 inner、prev、next 不同状态时的样式


.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
	font-size:12px; border:1px #7EC4CC solid; *border:0px}

     以上部分是 zTree 节点编辑名称时的 input 的样式 


.ztree li span {line-height:16px; margin-right:2px}

     以上部分是 zTree 节点内 span 的基础样式


.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
	border:0 none; cursor: pointer;outline:none;
	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
	background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}

     以上部分是 zTree 节点 +/- 号、checkbox、radio、图标 的基础样式


.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}

     以上部分是 checkbox、radio 所有状态时的样式。


     提醒:有不少朋友希望使用 checkbox 但还需要单选功能,你只需要修改一下这部分的 css 让 radio 的图标都换成对应的 checkbox 的图标,同时使用 zTree 时设置为 radio 模式就可以了! 


.ztree li span.button.switch {width:18px; height:18px}
.ztree li span.button.root_open{background-position:-92px -54px}
.ztree li span.button.root_close{background-position:-74px -54px}
.ztree li span.button.roots_open{background-position:-92px 0}
.ztree li span.button.roots_close{background-position:-74px 0}
.ztree li span.button.center_open{background-position:-92px -18px}
.ztree li span.button.center_close{background-position:-74px -18px}
.ztree li span.button.bottom_open{background-position:-92px -36px}
.ztree li span.button.bottom_close{background-position:-74px -36px}
.ztree li span.button.noline_open{background-position:-92px -72px}
.ztree li span.button.noline_close{background-position:-74px -72px}
.ztree li span.button.root_docu{ background:none;}
.ztree li span.button.roots_docu{background-position:-56px 0}
.ztree li span.button.center_docu{background-position:-56px -18px}
.ztree li span.button.bottom_docu{background-position:-56px -36px}
.ztree li span.button.noline_docu{ background:none;}

     以上部分是 zTree 节点的 +/- 号部分的样式


.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}

     以上部分是 zTree 节点默认图标的样式


.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
     以上部分是 zTree 节点默认的编辑、删除按钮的样式


.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}

     以上部分是 zTree 节点异步加载时 loading 图标的样式


ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}

     以上部分是 zTree 拖拽节点成为 根节点时,zTree 的临时样式


span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
	background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}

     以上部分是 zTree 拖拽节点时临时箭头的样式


ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}

     以上部分是 zTree 拖拽节点时,跟随鼠标移动的临时节点的样式


.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}

     以上部分是 zTree 拖拽节点时,页面上其他 iframe 的遮罩图层的样式



    补充:对于想放大字体、放大图标的朋友,很抱歉,关键问题是本人美工设计能力太差,另外时间有限,所以对于 v3 版本并没有制作其他样式模板,不过看了以上介绍后,是不是觉得调整起来其实还是很简单的? 大家只需要注意一下 height 的值,包括这些 height 之间的差值,注意到这些细节,然后去调整就可以了, 最后别忘了更换你的大图标的img 图标。

 

5
0
分享到:
评论
46 楼 liuweihug 2014-10-14  
zTree使用Bootstrap皮肤样式及demo - 前端编程 - IT工作生活这点事。Just Such So!
http://www.suchso.com/UIweb/ztree-Bootstrap-css-demo.html
45 楼 zTreeAPI 2014-08-10  
liuweihug 写道
zTree使用Bootstrap皮肤样式及demo - 前端编程 - IT工作生活这点事。Just Such So!
http://www.suchso.com/UIweb/ztree-Bootstrap-css-demo.html

非常感谢!
44 楼 liuweihug 2014-07-26  
zTree使用Bootstrap皮肤样式及demo - 前端编程 - IT工作生活这点事。Just Such So!
http://www.suchso.com/UIweb/ztree-Bootstrap-css-demo.html
43 楼 zTreeAPI 2014-06-22  
wuzheyuanzhang 写道
ztree树的层次多了以后 就会显示滚动条,怎么修改滚动条显示的位置?

自己根据需要配置zTree 图层的样式,或 zTree 容器的样式, 让需要显示滚动条的图层显示滚动条即可。
42 楼 wuzheyuanzhang 2014-06-10  
ztree树的层次多了以后 就会显示滚动条,怎么修改滚动条显示的位置?
41 楼 zTreeAPI 2014-01-26  
QQ1067184821 写道
zTreeAPI 写道
QQ1067184821 写道
zTreeAPI 写道
QQ1067184821 写道
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?

利用自定义控件的 方式自己添加吧,但 父子关联的规则 只能你自己去制作了。

请问一下,是在那几个文件里修改呢?比如修改那些属性呢?呵呵

看 Demo 和 API 你可以知道如何添加自定义控件; 至于联动只能你自己加自己独立的代码了,因为这些控件的显示状态、数据的值,全是需要你自己控制的


谢谢了,自定义图片是弄出来,不过,不知道怎样做,点击图片的时候让它变成勾选的图片,再点击一下就变回原来没有勾选的图片

给节点添加你需要的 属性保存 勾选状态, 给图片设置 css 控制什么时候勾选,什么时候取消勾选
40 楼 QQ1067184821 2014-01-24  
zTreeAPI 写道
QQ1067184821 写道
zTreeAPI 写道
QQ1067184821 写道
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?

利用自定义控件的 方式自己添加吧,但 父子关联的规则 只能你自己去制作了。

请问一下,是在那几个文件里修改呢?比如修改那些属性呢?呵呵

看 Demo 和 API 你可以知道如何添加自定义控件; 至于联动只能你自己加自己独立的代码了,因为这些控件的显示状态、数据的值,全是需要你自己控制的


谢谢了,自定义图片是弄出来,不过,不知道怎样做,点击图片的时候让它变成勾选的图片,再点击一下就变回原来没有勾选的图片
39 楼 zTreeAPI 2014-01-23  
QQ1067184821 写道
zTreeAPI 写道
QQ1067184821 写道
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?

利用自定义控件的 方式自己添加吧,但 父子关联的规则 只能你自己去制作了。

请问一下,是在那几个文件里修改呢?比如修改那些属性呢?呵呵

看 Demo 和 API 你可以知道如何添加自定义控件; 至于联动只能你自己加自己独立的代码了,因为这些控件的显示状态、数据的值,全是需要你自己控制的
38 楼 QQ1067184821 2014-01-23  
zTreeAPI 写道
QQ1067184821 写道
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?

利用自定义控件的 方式自己添加吧,但 父子关联的规则 只能你自己去制作了。

请问一下,是在那几个文件里修改呢?比如修改那些属性呢?呵呵
37 楼 zTreeAPI 2014-01-23  
QQ1067184821 写道
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?

利用自定义控件的 方式自己添加吧,但 父子关联的规则 只能你自己去制作了。
36 楼 QQ1067184821 2014-01-20  
请问,我想在原本每个节点有一个checkbox基础上加两个checkbox或者三个checkbox,这样怎修改呢?
35 楼 zTreeAPI 2013-09-15  
zhb2010zhb 写道
发现ztree异步加载时,otherparam里面的参数不能每次异步时更新,只是一开始里面写什么就是什么,有什么方法能够实现动态传递一些参数去后台。
var t="1";
var setting = {
async: {
enable: true,
url: "ResourceManageServlet",
autoParam:["id", "level","isP"],
otherParam:["t":t],
                dataFilter:filter
}
};
如果我在异步加载前把t="2"后,这样我后台获取的t值还是1,怎么做才能实现动态传递值的效果。
或者api里面的有些方法我忽略了?

利用 beforeAsync 这个回调可以随意修改
34 楼 zhb2010zhb 2013-09-11  
发现ztree异步加载时,otherparam里面的参数不能每次异步时更新,只是一开始里面写什么就是什么,有什么方法能够实现动态传递一些参数去后台。
var t="1";
var setting = {
async: {
enable: true,
url: "ResourceManageServlet",
autoParam:["id", "level","isP"],
otherParam:["t":t],
                dataFilter:filter
}
};
如果我在异步加载前把t="2"后,这样我后台获取的t值还是1,怎么做才能实现动态传递值的效果。
或者api里面的有些方法我忽略了?
33 楼 zTreeAPI 2013-08-31  
mrquen 写道
请问一下 我想对图标icon加上一个title ztree有这个方法吗? 还是我通过icon的有规律的ID 手动添加title属性呢?

不好意思,自行手动添加吧
32 楼 zTreeAPI 2013-08-31  
guodefu909 写道
鼠标进入节点时,.ztree li a:hover {color:#A60000;font-weight:bold;text-decoration:none}生效,但是很快移出节点时,节点样式不会恢复原状。

按道理不应该哟。。。难道是浏览器有问题?
31 楼 zTreeAPI 2013-08-31  
guodefu909 写道
.ztree li a input.rename是设置编辑节点名称的样式,
.ztree li a.curSelectedNode_Edit 处于编辑模式时的样式 是指哪个呢?

当前正在编辑的节点的 <a> 标签呀  input 是在 a 内的
30 楼 zTreeAPI 2013-08-31  
guodefu909 写道
我自定义.ztree li a:hover和.ztree li a.curSelectedNode的样式,文字变红色变粗。
之后通过fontCss将drag==false的节点设置为灰色粗体,但是将节点的drag设置为true后,
不知道怎么让节点变回正常状态,即没鼠标经过没选中为正常字体,选中或鼠标经过为红色粗体。
有没有办法,使符合条件时设置成设定的样式,不符合的变回正常样式?

利用 fontCss 和 updataNode 组合吧。 看看 http://www.ztree.me/v3/demo.php#_110 这个Demo
29 楼 zTreeAPI 2013-08-31  
guodefu909 写道
跟随鼠标移动的临时节点的样式ul.ztree.zTreeDragUL 原封不动,只是将html改成jsp就会变样,变得跟ul的样式一样,应该怎么调整呢?

检查你的 DOCTYPE 是否变了?
28 楼 mrquen 2013-08-27  
请问一下 我想对图标icon加上一个title ztree有这个方法吗? 还是我通过icon的有规律的ID 手动添加title属性呢?
27 楼 guodefu909 2013-08-11  
鼠标进入节点时,.ztree li a:hover {color:#A60000;font-weight:bold;text-decoration:none}生效,但是很快移出节点时,节点样式不会恢复原状。

相关推荐

    JQuery zTree v3.5.rar

    **jQuery zTree v3.5 插件详解** 在网页开发中,为了更好地展示和管理层级结构的数据,jQuery zTree 是一个非常实用的插件。zTree v3.5 版本延续了其前代的优点,包括优异的性能、灵活的配置以及多种功能的结合,...

    jQuery_zTree v3.5

    **jQuery zTree v3.5 知识点详解** `jQuery zTree` 是一个基于 jQuery 的强大树形插件,广泛应用于数据展示、文件管理、权限控制等多种场景。它的核心特性在于提供了丰富的节点操作和交互功能,如异步加载、多选、...

    zTree v3.5 Css分解与dom结构说明

    首先要强调的就是,制作 zTree 时... zTree 的 css 文件就是 zTreeStyle.css,其实 这里面的 css 内容并不多,熟悉 css 的应该看起来还是挺容易的。 首先要强调的就是,制作 zTree 时一定要让 ul 容器设置 classNam

    jQuery zTree 3.5.22

    《jQuery zTree 3.5.22:多功能树形插件详解》 在Web开发领域,jQuery zTree是一款广泛使用的、基于jQuery的开源树形插件,其最新版本为3.5.22。这款插件以其强大的功能、优秀的性能和高度的可配置性而受到开发者的...

    jquery ztree3.5

    **jQuery zTree 3.5 知识点详解** jQuery zTree是一款基于JavaScript库jQuery的高效、可定制的树形插件。它以其强大的功能、卓越的性能和丰富的配置选项而受到开发者的广泛欢迎。在版本3.5中,zTree提供了一系列...

    jquery ztree开发使用的必需的css和js文件

    《jQuery ZTree开发所需的CSS和JS文件详解》 在Web开发中,jQuery ZTree是一款广泛应用于树形结构展示的插件,尤其适用于构建文件目录、组织结构等场景。本文将详细解析jQuery ZTree 3.5版本开发所必需的CSS和JS...

    树形结构显示插件zTree_v3-3.5.28

    **zTree_v3-3.5.28插件详解** zTree是一款广泛应用于Web开发中的树形结构显示插件,特别适用于构建层级关系清晰、交互友好的界面。该插件以其灵活性、易用性和丰富的功能深受开发者喜爱。在本文中,我们将深入探讨...

    JQueryzTreev3.5

    **JQuery zTree v3.5 知识点详解** JQuery zTree 是一个基于 jQuery 的强大树形插件,广泛应用于网站的目录结构展示、文件管理、权限控制等多种场景。v3.5 版本是其发展过程中的一个重要版本,提供了一套完整的树状...

    ztree框架详解

    ### zTree框架详解 #### 一、zTree框架概述 **zTree** 是一款非常流行的前端树形控件,它依赖于 jQuery 实现,并具备多种强大的功能,使其成为开发人员在构建具有复杂层级结构的应用时的首选工具。下面将详细介绍 ...

    jQuery zTree树控件

    zTree v3.5版是该插件的一个稳定版本,提供了许多改进和优化。 **一、zTree基础概念** 1. 节点:zTree中的基本元素,每个节点代表树结构中的一个条目,可以包含子节点形成层级结构。 2. 树结构:由多个节点组成的...

    JQuery zTree

    **jQuery zTree 知识点详解** jQuery zTree 是一个基于 jQuery 库的高效、可扩展的树形插件,广泛应用于数据展示、文件管理、权限控制等多种场景。它的核心特性在于其优异的性能、丰富的配置选项以及多样化的功能,...

    详解js树形控件—zTree使用总结

    其特点包括代码模块化,可以根据需求选择加载特定功能的库,例如只需核心功能就加载 `jquery.ztree.core-3.5.js`,需要勾选功能则加载 `jquery.ztree.excheck-3.5.min.js`,编辑功能则加载 `jquery.ztree.exedit-3.5...

    多功能jQuery树插件zTree实现权限列表简单实例

    主要包括样式表文件`zTreeStyle.css`,以及两个JavaScript文件:`jquery.ztree.core-3.5.js`用于基础功能,`jquery.ztree.excheck-3.5.js`则提供了复选框功能。引入这些文件后,我们可以开始构建树形结构。 HTML...

Global site tag (gtag.js) - Google Analytics