Créer une table en SVG
Je suis en train de créer un tableau comme objet dans un document SVG. Actuellement, en raison du fait que le SVG n'est pas un élément de tableau, je suis en utilisant un analyseur HTML de passer et de convertir un tableau HTML, (créé par l'utilisateur dans un tableau HTML Builder), à un groupe de SVG objets, puis en ajoutant que pour l'ensemble de mon dessin SVG. Je me demandais si quelqu'un était en mesure de trouver une meilleure alternative à cette méthode, comme une SVG de table builder? Je suis à la recherche pour accomplir cela en utilisant Javascript ou jquery. Toutes les idées ou suggestions seraient appréciées.
Vous devez vous connecter pour publier un commentaire.
Je voudrais simplement intégrer une vraie table dans mon fichier SVG:
foreignobject
doivent être écrits en toutesforeignObject
.U peut utiliser de cette façon:
Il n'existe pas de "table" les éléments de type en SVG, mais vous pouvez obtenir un visuel similaire et interactif effet à l'aide du 'texte' et 'tspan' éléments. Sur la gauche sont les 2 tableaux de représentations, le haut avec disposition en colonnes (qui est, l'utilisateur peut sélectionner tout le texte dans une colonne), et le bas de tableau avec une ligne de mise en page. Un inconvénient de cette approche est que vous ne pouvez pas créer un tableau à la fois verticale et horizontale de la sélectivité. A moins de défaut évident, c'est que la création d'un tableau de l'apparence, ne confère pas à la sémantique des qualités d'une vraie table, ce qui est désavantageux pour l'accessibilité et n'est pas propice à une riche interactivité et de la navigation
Exemple:
Source: http://svg-whiz.com/svg/table.svg
Je voulais juste ajouter mes pensées sur ce pour la postérité. Il y a beaucoup de assez compliqué options là-bas, mais si vous voulez juste quelque chose qui semble comme une table, cela pourrait vous aider à démarrer...
C'est évidemment approximatif mais pourrait vous aider à démarrer sur la bonne voie.
Voici un exemple montrant une SVG foreignobject qui contient une disposition tabulaire d'imbrication des éléments SVG. Il ne fonctionne que sur Chrome si.
Il comprend un HTML table mise en page et un flexbox mise en page à l'aide des éléments div.
Un jsfiddle est ici.
J'ai trouvé un projet sur github, qui génère automatiquement un code HTML comme table à partir d'un JavaScript structure de données: https://github.com/cocuh/SVG-Table
Car il ne repose pas sur foreignObject, c'est la portabilité entre les différents navigateurs est beaucoup mieux.