我正在为传销概念开发一棵树。
我一直致力于显示从显示用户层次结构的数据库中获取的树。现在我想将父母与孩子联系起来。它是一棵二叉树,所以每个父母都有两个孩子。
我的代码在 JsFiddle:https ://jsfiddle.net/7u9L1bfx/
和 Jsfiddle 的 CSS
<center>
<div style='width:60%'>
<div class='user' id='1'>
<p> 1 </p>
</div>
<div style='clear:both;'></div>
<div class='col2 child' id='1'>
<div class='user'>
<p>2</p>
</div>
</div>
<div class='col2 child' id='1'>
<div class='user'>
<p>5</p>
</div>
</div>
<div style='clear:both;'></div>
<div class='col3 child' id='2'>
<div class='user'>
<p>3</p>
</div>
</div>
<div class='col3 child' id='2'>
<div class='user'>
<p>4</p>
</div>
</div>
<div class='col3 child' id='5'>
<div class='user'>
<p>6</p>
</div>
</div>
<div class='col3 child' id='5'>
<div class='user'>
<p>8</p>
</div>
</div>
<div style='clear:both;'></div>
<div class='col4 child' id='3'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='3'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='4'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='4'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='6'>
<div class='user'>
<p>7</p>
</div>
</div>
<div class='col4 child' id='6'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='8'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div class='col4 child' id='8'>
<div class='user'>
<p>Blank</p>
</div>
</div>
<div style='clear:both;'></div>
</div>
</center>
我需要一个可以简单地画线的 css/javascript/jquery 函数。我会自己把它放到循环中。
您将拥有的唯一真正选择是使用<canvas>
. 您可以将所有元素堆叠在大画布上,然后您必须计算它们的位置并绘制线条。
您的 HTML 将如下所示:
<div id="container">
<canvas id="canvas">
<div class="a">A</div>
<div class="b">B</div>
<div class="c">C</div>
</div>
然后您必须将容器和画布的大小设置为相同,然后将您的 div 放置在其上。然后使用 divoffsetTop
和 的组合offsetLeft
,您必须找出它们的位置,然后使用canvas
draw 函数绘制线条。
这会给你一个基本的方法。尝试创建代码,如果遇到困难,可以发布另一个答案。
另一种选择是使用<hr>
元素和transform
CSS 属性来旋转和定位,但计算出来的数学很烦人,而且仍然不如画布方法干净。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句