代码:
天云平台
档案类
档案
档案
档案
档案
搜索类
搜索
搜索
搜索
搜索
分析类
分析
分析
分析
分析
上面是从网上找的纵向树,但是不符合项目要求,所以想改成横向向右展开的树,求大神帮忙修改一下,不甚感激,谢谢~~~急~~
组织架构图类似:
回复讨论(解决方案)
我也需要,谢谢,做网站
弄了个你可以看看,通过json数据生成。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>无标题页</title> <style type="text/css"> .htree{ margin:0; padding:0; font-size:14px; } .leaf { border: solid 1px red; height:23px; line-height:23px; margin: 3px 0; padding:0 3px; position:relative; display:inline-block; *display:inline; zoom:1; } .parent { margin: 4px 0 4px 1px; position:relative; } .node{ width:14px; word-break:break-all; border:solid 1px blue; padding:15px 10px; } .hline{ height:1px; width:23px; background:#ccc; font-size:0; overflow:hidden; position:absolute; top:50%; } .hline_r{ left:36px; } .hline_l{ left:-23px; } .vline{ width:1px; background:#ccc; position:absolute; font-size:0; overflow:hidden; left:-23px; } .vline_t{ height:50%; top:50%; } .vline_diff{ height:8px; bottom:-8px; } .vline_m{ height:100%; top:0; } .vline_b{ height:50%; top:0; } </style> <script type="text/javascript"> function createTree(obj, lev, pidx, plen, htmlArr) { var childs = obj.childs ? obj.childs : []; htmlArr.push("<div class=\"parent\">"); if (lev == 1) { htmlArr.push("<div class=\"hline hline_r\"></div>"); } else { htmlArr.push("<div class=\"hline hline_l\"></div>"); if (childs.length > 0) htmlArr.push("<div class=\"hline hline_r\"></div>"); if (pidx == 0 && plen != 1) htmlArr.push("<div class=\"vline vline_t\"></div>"); if (pidx != 0 && pidx != plen - 1) htmlArr.push("<div class=\"vline vline_m\"></div>"); if (pidx != plen - 1) htmlArr.push("<div class=\"vline vline_diff\"></div>"); if (pidx == plen - 1 && pidx != 0) htmlArr.push("<div class=\"vline vline_b\"></div>"); } htmlArr.push("<table cellpadding=\"0\" cellspacing=\"0\">"); htmlArr.push(" <tr>"); htmlArr.push(" <td style=\"width:80px;\">"); htmlArr.push(" <div class=\"node\">" + obj.name + "</div>"); htmlArr.push(" </td>"); if (childs.length > 0) { htmlArr.push(" <td>"); var len = childs.length; for (var i = 0; i < len; i++) { var tempObj = childs[i]; if (tempObj.leaf !== true) { createTree(tempObj, lev + 1, i, len, htmlArr) } else { htmlArr.push(" <div>"); htmlArr.push(" <div class=\"leaf\">"); htmlArr.push(" <div class=\"hline hline_l\" " + (i == 0 && len == 1 ? "style=\"*margin-top:-1px;\"" : "") + "></div>"); /*ie7 hack*/ if (i == 0 && len != 1) htmlArr.push(" <div class=\"vline vline_t\"></div>"); if (i != 0 && i != len - 1) htmlArr.push(" <div class=\"vline vline_m\"></div>"); if (i != len - 1) htmlArr.push(" <div class=\"vline vline_diff\"></div>"); if (i == len - 1 && i != 0) htmlArr.push(" <div class=\"vline vline_b\"></div>"); htmlArr.push(" " + tempObj.name); htmlArr.push(" </div>"); htmlArr.push(" </div>"); } } htmlArr.push(" </td>"); } htmlArr.push(" </tr>"); htmlArr.push("</table>"); htmlArr.push("</div>"); } function create() { var obj = { name: "组织架构1", childs: [ { name: '员工1', leaf: true }, { name: '员工2', leaf: true }, { name: '组织架构2', childs: [ { name: '员工3', leaf: true }, { name: '员工4', leaf: true }, { name: '组织架构4', childs: [ { name: '员工5', leaf: true }, { name: '员工6', leaf: true } ] } ] }, { name: '组织架构3', childs: [ { name: '组织架构5', childs: [ { name: '员工8', leaf: true } ] }, { name: '员工7', leaf: true } ] }, { name: '组织架构33' } ] }; var htmlArr = []; createTree(obj, 1, 0, 0, htmlArr); document.getElementById("div_test").innerHTML = htmlArr.join(""); } </script></head><body>不支持ie6<br /><input type="button" value="生成" onclick="create();"/><div id="div_test" style="border:solid 1px red;"></div></body></html>
无聊做了一下,具体查看博客 html模拟组织架构横向展开
3楼的哥哥
我看了你的代码,如果我这颗是动态生成的,你的这个节点好像不能自动居中,怎么破?
我想要的样式
我想要的样式
你现在要的只有第一个节点文字是纵向排列的? 这个图和你发帖时候的图弄起来结构可是不同的。
我想要的样式
你现在要的只有第一个节点文字是纵向排列的? 这个图和你发帖时候的图弄起来结构可是不同的。
是的,只有第一个节点文字是纵向排列的
我想要的样式
你现在要的只有第一个节点文字是纵向排列的? 这个图和你发帖时候的图弄起来结构可是不同的。
是的,只有第一个节点文字是纵向排列的
你要不就先用我原来的竖排吧,你这个效果的暂时没写出来。

self-closingtagsinhtmlandxmlaretagsthatclosethem hexpthementneedingAseparateCloseTag,SightifyingmarkingmarkupStrupupStruptoReanDenhancingCodingsifice.1)shemeSsentialInxmmllforelementsswithcontentsswithcontent contentcontent,可确保wellwell-formedDocuments.2)Inhtmlible5,inhtmlibut forfix

要构建一个功能强大且用户体验良好的网站,仅靠HTML是不够的,还需要以下技术:JavaScript赋予网页动态和交互性,通过操作DOM实现实时变化。CSS负责网页的样式和布局,提升美观度和用户体验。现代框架和库如React、Vue.js和Angular,提高开发效率和代码组织结构。

布尔属性是HTML中的特殊属性,不需要值即可激活。1.布尔属性通过存在与否控制元素行为,如disabled禁用输入框。2.它们的工作原理是浏览器解析时根据属性的存在改变元素行为。3.基本用法是直接添加属性,高级用法可通过JavaScript动态控制。4.常见错误是误以为需要设置值,正确写法应简洁。5.最佳实践是保持代码简洁,合理使用布尔属性以优化网页性能和用户体验。

HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能