HTML/CSS で、データ ツリーを次の形式で表示したいと考えています。ルート ノードは左側にあります。親ノードは子ノードの左側にあり、最初の子は常に親と同じ行にあります。兄弟ノードは下の行にあります。
この例を参照してください。ここでの線は、関係を理解するための単なる例です。
1 - 1.1 - 1.1.1
\ ` 1.1.2
`1.2 - 1.2.1
2 - 2.1
`2.2
子ノードを親に接続して、たとえば親をドラッグアンドドロップすると、接続されているすべての子ノードも移動するようにしたいと考えています。そのため、ネストされたアプローチを選択しました。
私のアプローチ:
<div><p> some text </p><div> recursively add the children here </div></div>
このように追加する各ノード
$(document.createElement('div'))
.appendTo(parent)
.css('overflow', 'auto')
.append($(document.createElement('p'))
.css('float', 'left')
.html(some text)
.append($(document.createElement('div'))
.css('overflow', 'auto'));
アプローチに関する私の問題: ツリーがコンテナよりも大きくなると、次の行に折り返されます。ただし、overflow:hidden の効果が必要です。コンテナのこの css タグは、左フローティング アイテムには影響しません。
jsFiddle: 例としてこの jsFiddle を参照してください : http://jsfiddle.net/Afasv/8/外側のコンテナよりも大きいdiv内にツリーを配置するハック。
解決策のアイデアをいただければ幸いです。