简介
本篇专门介绍一下通过配置就能改变的样式类型 看这篇文档时,你需要对照 API 文档进行学习(http://www.treejs.cn/v3/api.php)
节点图标显示开关
setting.view.showIcon
参考 Demo:http://www.treejs.cn/v3/demo.php#_104
这个设置可以让所有节点不显示图标,也可以设置部分节点不显示图标。
// Demo 中设置所有父节点不显示图标
function showIconForTree(treeId, treeNode) {
return !treeNode.isParent;
};
setting.view.showIcon = showIconForTree;
节点连接线显示开关
setting.view.showLine
参考 Demo:http://www.treejs.cn/v3/demo.php#_103
这个设置可以让树不显示节点间的连接线
setting.view.showLine = false;
- 如果你
增加节点的 高度,包括允许节点自动换行
的时候,建议不要显示连接线 - zTree 的连接线是使用图片实现的,如果你想
修改连接线
需要去看 zTree 样式中的图标文件,替换所有与连接线相关的部分
是否显示节点的 title 提示信息
setting.view.showTitle
zTree 使用的是 html 默认的 title 属性显示 tooltip 信息,如果你想使用自定义的 tooltip 插件显示,请关闭 zTree 的 提示信息功能。
// 关闭 默认的 tooltip
setting.view.showTitle = false;
节点自定义图标
treeNode.icon / iconOpen / iconClose
参考 Demo:http://www.treejs.cn/v3/demo.php#_105
这三个节点数据的 属性,是用于设置节点自定义图标功能的。 请注意:
- iconOpen / iconClose 只用于父节点,
对于叶子节点无效
图标 url 一定要注意路径准确
,否则肯定会加载失败
treeNode.iconSkin
参考 Demo:http://www.treejs.cn/v3/demo.php#_106
这个属性是对 icon 属性的简化,把大量的 url 用 css 进行保存,减少数据量。
很抱歉,早期本人对于节点 className 规则的设计并不完美,所以制作 iconSkin 对应的 样式 略微复杂,请见谅。
样式说明:
- 样式前面的约束是为了保持 zTree 内的图表样式统一,避免样式冲突。例如:
.ztree li span.button
- 对于父节点 制作两个 css 规则
iconSkin + _ico_open
和iconSkin + _ico_close
- 对于叶子节点 制作一个 css 规则
iconSkin + _ico_docu
- 父节点 与 叶子节点 的 规则各自独立
// iconSkin = 'pIcon01'
.ztree li span.button.pIcon01_ico_open{margin-right:2px; background: url(../../../css/zTreeStyle/img/diy/1_open.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
.ztree li span.button.pIcon01_ico_close{margin-right:2px; background: url(../../../css/zTreeStyle/img/diy/1_close.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
// iconSkin = 'pIcon02'
// 这种设置,父节点 展开 / 折叠 时图标无变化
.ztree li span.button.pIcon02_ico_open, .ztree li span.button.pIcon02_ico_close{margin-right:2px; background: url(../../../css/zTreeStyle/img/diy/2.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
// iconSkin = 'icon01'
.ztree li span.button.icon01_ico_docu{margin-right:2px; background: url(../../../css/zTreeStyle/img/diy/3.png) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
节点自定义样式
setting.view.fontCss
参考 Demo:http://www.treejs.cn/v3/demo.php#_107 & http://www.treejs.cn/v3/demo.php#_113
专门用于自定义设置节点名称的字体类型、颜色、背景等
注意:
- 如果修改所有节点的样式,建议直接修改 zTreeStyle.css
- 建议只修改 font-weight / font-style / color / background-color 这几个样式
修改 font-size,一定要配合修改节点行高的样式:height / line-height;非常不建议只修改个别节点的 font-size
- 初始化生成节点的 DOM 时,zTree 根据 fontCss 的设置进行样式处理
- 对于已生成的节点,使用 fontCss 修改样式,务必先修改 fontCss,然后 再执行 updateNode 方法
// 设置 treeNode 为红色
var oldCss = zTreeObj.setting.view.fontCss;
zTreeObj.setting.view.fontCss = {"color": "red"};
zTreeObj.updateNode(treeNode);
// 如果不是使用 function 方式针对特殊节点,一定要在设置后,立刻还原,否则会导致后来创建 DOM 的节点都变为红色
zTreeObj.setting.view.fontCss = oldCss;