J'ai quelques éléments d'interface utilisateur tels que des boutons dans mon application Web. J'allais utiliser les transitions de CSS3 pour animer la transition d'une image de fond à une autre. J'ai compris que ce n'est pas possible avec le projet de transition actuel au moins. Donc, je me demandais s'il serait logique d'utiliser Canvas comme bouton. Je suis sûr qu'il peut gérer les événements, donc, je ne vois pas de problèmes ici. Y a-t-il?Utilisation de HTML Canvas pour les éléments d'interface utilisateur?
Répondre
Je suis venu à la conclusion: l'utilisation Canvas pour les éléments de l'interface utilisateur n'est pas une bonne idée. Par exemple, si vous créez une zone de sélection à l'aide de Canvas, comment la liste apparaîtra-t-elle dans la partie supérieure des autres éléments HTML?
Autre que le fait qu'il n'est pas pris en charge dans IE, non.
Le canevas n'est pas pris en charge dans Internet Explorer. De plus, les animations sur toile sont très lentes sur les PC avec peu de puissance CPU.
À moins que vous écrivez quelque chose qui est pour un public cible spécifique (disons les utilisateurs internes avec Firefox et cpu dual-core) Je pense que vous devriez éviter d'utiliser la toile pour le moment ...
Utilisez raphael.js (licence MIT) - il vous donne API de type toile en utilisant SVG (et VML pour IE) et fonctionne dans tous les navigateurs amjor dont IE6. Et c'est rapide (pas trop lent même dans IE)
- 1. Utilisation de styles d'interface utilisateur JQuery sur d'autres éléments HTML
- 2. Utilisation d'OpenGL pour remplacer Canvas - Android
- 3. Utilisation de TransformToVisual dans Silverlight pour positionner des éléments HTML
- 4. transformer en canvas html
- 5. Jquery .select() pour les autres éléments html
- 6. typeof pour les éléments du plugin html
- 7. HTML 5 test pour les nouveaux éléments
- 8. Désactiver les éléments HTML
- 9. Flex: Placer des éléments sur l'élément canvas
- 10. Utilisation du HTML dans l'autocomplétion de l'interface utilisateur jQuery
- 11. Largeur absorbant les éléments HTML
- 12. Élément HTML Canvas implémenté dans Flash?
- 13. Comment activer les éléments html
- 14. Utilisation de MultiBinding pour lier des éléments
- 15. éléments HTML pour JavaScript crochets
- 16. Utilisation d'Onclick pour les éléments à faible indice-z
- 17. Dessin 3D dans Canvas avec HTML + JS
- 18. Pour définir des validateurs symfony pour les éléments HTML personnalisés
- 19. Utiliser le HTML pour les éléments de la Listbox
- 20. Utilisation d'attributs non W3C valides sur des éléments HTML
- 21. désactiver tous les éléments html
- 22. Enveloppe conditionnellement les éléments HTML
- 23. Existe-t-il une suite de tests pour les éléments de canevas HTML/JavaScript?
- 24. Comment éviter l'étirement automatique Canvas HTML
- 25. Lignes et cercles cliquables avec HTML Canvas
- 26. Comment afficher les éléments HTML sur les éléments Flash?
- 27. Sprite-Sheet BLIT avec HTML 5 Canvas?
- 28. Utilisation de délégués pour rendre les blocs html dans asp.net
- 29. Utilisation de l'interface utilisateur jQuery sélectionnable, comment trouver les éléments sélectionnés?
- 30. Utilisation de jpcap pour capturer html
vous pouvez toujours obtenir de la toile dans IE via http://excanvas.sourceforge.net/ – kodisha
En désaccord. J'ai écrit ma propre classe de boutons en utilisant canvas, et ce n'est pas lent. La partie la plus lente de l'élément canvas est fillRect() pour effacer le canevas, et si les différents états de votre bouton ont tous le même type de masque alpha, vous n'avez même pas besoin d'effacer. Si hes rend le bouton non-stop, même si l'état du bouton n'a pas changé, c'est une raison pour qu'il soit lent. – Warty
C'est vraiment exagéré si vous me demandez. –