Ce que je veux réaliser est le suivant:
Je veux avoir une liste arborescente qui apparaîtra sur le côté gauche de la page, lorsqu'un élément est développé, ses éléments sont chargés à partir d'une base de données (je peux faire cette partie), donc en gros, cela se passera comme suit:
+Category1
+Category2
+Category3
+Category4
Lorsque l'utilisateur clique sur +
, il affichera ce qui suit jusqu'à ce que les données soient extraites de la base de données et ajoutées à la page:
+Category1
-Category2
loading ...
+Category3
+Category4
Une fois les données chargées, chaque sous-catégorie aura une sous-sous-catégorie.
+Category1
-Category2
+Sub-Cat1
+Sub-Cat2
+Sub-Cat3
+Sub-Cat4
+Category3
+Category4
Comment puis-je atteindre cet objectif?
REMARQUE: je veux savoir comment mettre (*
ou >
ou tout autre symbole de la liste, je crois que c'est CSS mais je ne travaille pas du tout avec le design !!)
Ton aide est grandement appréciée.
Avez-vous des exigences de navigateur? J'ai utilisé l'exemple [CSS] Ninja, ainsi que selectivizr pour prendre en charge les anciennes versions d'IE. Je n'ai pas d'exemple accessible, à part ce qui se trouve sur le site [CSS] Ninja:
menu arborescent pliable CSS pur
Et sélectivizr:
L'exemple est destiné à l'utiliser pour un scénario de navigation de fichiers, mais vous devriez pouvoir le modifier assez facilement pour supprimer les dossiers et les icônes de fichiers, si vous le souhaitez.
ok, donc je suppose que votre liste d'éléments est un ul
À chaque élément, vous pouvez ajouter une classe appelée fermée, ce clase ressemblerait à ceci dans css:
.closed:before{content:'+';}
.opened:before{content:'-';}
Puis ‹avec javascript, vous basculez entre ces classes. Vous pouvez également ajouter d'autres styles à ces signes + et - dans le CSS ci-dessus, pour lui donner une couleur de bordure et d'arrière-plan.