2010-03-23 3 views
2

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

0

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?

0

Autre que le fait qu'il n'est pas pris en charge dans IE, non.

0

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 ...

+0

vous pouvez toujours obtenir de la toile dans IE via http://excanvas.sourceforge.net/ – kodisha

+0

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

+0

C'est vraiment exagéré si vous me demandez. –

0

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)

Questions connexes