Sto cercando di disegnare una struttura ad albero verticale con HTML e CSS. L'ho fatto in una certa misura.Albero verticale con CSS e HTML
<!--
We will create a family tree using just CSS(3)
The markup will be simple nested lists
-->
<div class="tree">
<ul>
<li>
<a href="#">Parent</a>
<ul>
<li><a href="#">Child</a>
<ul>
<li><a href="#">Grand Child</a></li>
</ul>
</li>
<li>
<a href="#">Child</a>
<ul>
<li><a href="#">Grand Child</a></li>
<li><a href="#">Grand Child</a>
<ul>
<li><a href="#">Great Grand Child</a></li>
<li><a href="#">Great Grand Child</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Nel mio caso, un nodo può avere un massimo di 2 bambini, non di più. Ho funzionato per il primo nodo figlio. In caso di second child, non sto ottenendo la linea verticale al 100% (fino al suo nodo genitore).
Ho provato a fare alcune modifiche ma nessuna ha funzionato. Cosa potrei cambiare nel mio CSS, in modo che tutti i nodi siano connessi e assomigli ad un albero?
È possibile fare con il CSS stesso? o è possibile aggiungendo qualche javascript?
Grazie Julien. Il problema qui è la profondità di ogni nodo può essere qualsiasi numero. Non riesco a definire un tipo di classi in due fasi, in tre fasi, poiché possono esserci 99 passi o n passaggi. Quindi, c'è qualche possibilità di definire queste funzionalità di pseudo-classi in modo dinamico? – Naga
Da quello che so, lavorare in modo dinamico con le pseudo classi non è così facile. Vorrei andare con jQuery se vuoi qualcosa di più flessibile. Vedi modifica. –
Ho provato con il jquery che hai dato. Quando aggiungo/rimuovi un nodo nell'elenco in modo dinamico. Le linee non arrivano all'altezza appropriata, anche dopo aver ridisegnato le linee. https: // jsfiddle.net/qvnw6510/10/ (In jsfiddle, la funzione non viene richiamata quando aggiungo il nodo. È possibile controllare il codice nella macchina.) Ho provato a eseguire il debug, ma non è stato possibile risolverlo. Trovo che il calcolo dell'altezza non funzioni come previsto. – Naga