Feuilles de Sprite CSS meilleures pratiques, outils et applications utiles

L'utilisation de sprites CSS, au lieu d'une collection d'images individuelles plus petites, améliorera les performances de vos pages Web et vous permettra de mieux organiser vos tâches. Jetons un coup d'œil à certaines meilleures pratiques et à quelques outils utiles pour votre flux de production de sprites.

Le nom lutin pourrait vous rappeler des sprites de jeu; jeux de console rétro et même des jeux sur navigateur ces jours-ci:

et en termes CSS, le rôle joué par les sprites est plus ou moins le même. Une image-objet est un fichier volumineux contenant plusieurs images pour votre site Web, permettant ainsi d'économiser du temps de chargement et de l'espace Web..


Sprite de The Next Web

Les meilleures pratiques

L’intérêt essentiel de l’utilisation des feuilles de sprite CSS est que le serveur n’a plus qu’à envoyer un fichier image contenant toutes vos images, et non une multitude d’images individuelles. Par le biais de CSS, vous pouvez afficher n’importe quel petit segment de ce fichier en arrière-plan d’un élément..

Certains voudraient que l'utilisation d'images individuelles puisse "tromper" l'œil en lui faisant croire que la page se charge plus rapidement; les images apparaissant à mesure qu'elles se chargent peuvent sembler être de bons progrès. Ceci est un faux avantage, cependant, une page de chargement réellement plus rapide est toujours préférable..

L’autre inconvénient de cette méthode est que chaque image est, comme nous l’avons mentionné, un fichier image séparé. Par conséquent, chaque image que le serveur doit obtenir compte comme une requête HTTP distincte. Il est important de limiter le plus possible le nombre de requêtes HTTP sur votre site, car les navigateurs ne peuvent envoyer qu'un nombre limité de requêtes à un serveur simultanément..

La combinaison de vos images dans un seul fichier non seulement réduira considérablement le nombre de demandes HTTP, mais réduira également la taille totale du fichier des images..


Webdesigntuts + utilise les feuilles de Sprite, découvrez comment les afficher ultérieurement avec SpriteMe!

Différentes approches: avant ou après?

Il existe deux approches communes lors de la création de vos feuilles de sprite: les créer avant ou après la construction de votre site..

Vous pouvez placer toutes vos images dans une feuille de sprite à partir du sol lorsque vous créez votre site. Vous mettrez à jour votre CSS au fur et à mesure. C’est ce que nous appellerons le avant méthode.

Vous pouvez également créer toutes vos images sous forme de fichiers distincts, ce qui facilite grandement leur modification. Une fois que votre site est construit et que toutes les images sont préparées, vous pouvez compiler rapidement et facilement, soit manuellement, soit utiliser l'un des nombreux outils permettant d'effectuer tout le travail à votre place (ce dont je parlerai plus en détail par la suite). Ceci, nous nous référerons à comme après approche.

Si vous êtes totalement novice dans les feuilles de sprites ou dans la conception Web, la méthode "après" est définitivement l'option recommandée..

Si vous êtes complètement nouveau dans le domaine des images-objets ou de la conception Web, la méthode après est définitivement l'option recommandée. Vous pouvez conserver tous les fichiers PSD ou fichiers pour chaque image individuelle séparément, apporter des modifications, puis exécuter l'application de votre choix. De plus, si vous ne savez pas comment écrire tout le CSS pour vos images, la plupart des applications générant des sprites produiront également le CSS qui l'accompagne..

La plupart de ces applications sont totalement gratuites, un autre bonus!

Voyons quelques astuces et outils pour vous aider avec les feuilles de sprite. C’est ensuite à vous de choisir l’approche qui vous convient le mieux..

Remarque: la plupart des astuces suivantes supposent que vous ferez votre sprites à l'avance.


Astuce 1: Gardez-le organisé

Lorsque vous présentez vos images dans Photoshop (ou tout ce que vous utilisez pour mettre en forme votre feuille de sprite), il est judicieux d'essayer d'organiser les choses aussi clairement et facilement que possible. Essayez de toujours arrondir aux 10 pixels les plus proches ou utilisez une certaine quantité d’espace pour chaque image si elles ont toutes la même taille. Quand il s'agit d'écrire tout le CSS qui l'accompagne, vous n'avez pas besoin de continuer à mesurer les coordonnées, et vous serez moins susceptible d'oublier les nombres impliqués..

L'utilisation de figures "plus simples" signifie également que, dans Photoshop, il sera beaucoup plus facile d'utiliser des grilles "de capture" ou de tracer des lignes de grille pour que les choses restent organisées et simples à comprendre..


Astuce 2: Attendez que tout soit correct

Si vous mettez toutes vos images dans la feuille de sprite, passez du temps à écrire tout le code CSS, puis décidez qu'une des images doit être modifiée, cela pourrait entraîner de graves problèmes. Si la taille de l'image doit être modifiée, vous devrez peut-être modifier et réaligner la mise en page de votre image-objet, ce qui signifie que vous devrez absolument passer des années à modifier l'intégralité de votre code CSS d'accompagnement..

Ceci est une autre raison pour laquelle vous pourriez être plus intéressé par commencer par des images individuelles puis par utiliser une application pour faire tout le travail difficile pour vous. Après cela, si vous avez besoin de faire quelques modifications, il suffit de relancer l’application et tout sera fait. Que pourrais-tu vouloir de plus?


Astuce 3: L'étiquetage est vital

Si vous utilisez Photoshop ou d'autres éditeurs d'images similaires, il est judicieux de conserver les calques de chaque image-objet correctement étiquetés et groupés, afin que tout soit parfaitement clair si vous (ou toute autre personne) devez la comprendre plus tard..

Vos étiquettes doivent être claires et concises, faciles à comprendre pour tout le monde..

Cela devrait être une pratique assez courante pour la plupart des concepteurs, mais ne repoussez pas l'étiquetage - faites-le dès que vous créez le sprite. Imaginez juste combien de temps vous pourriez économiser avec l’étiquetage si vous disposiez d’une énorme feuille de sprite et ne parveniez pas à trouver les couches appropriées; cela pourrait devenir extrêmement frustrant..

De même, l'étiquetage est vital pour le code CSS de votre sprite. Des étiquettes sont absolument nécessaires pour confirmer quel sprite est sélectionné par le code - et tous les principes ci-dessus s'appliquent toujours. Si vous concevez un modèle pour la vente sur des sites tels que Themeforest, alors tout CSS (et encore moins Sprite Sheet CSS) doit être clairement étiqueté, étant donné que les utilisateurs potentiels peuvent ne pas comprendre le CSS aussi bien que vous..


Outils d'aide

Il existe une vaste gamme d’outils pour rendre votre génération de feuilles de sprite aussi simple que possible. Lorsque vous créez et concevez avec une gamme d'images individuelles, compilez-les toutes dans une feuille de sprite à la fin - la méthode 'après'.

Voici quelques-uns des meilleurs générateurs de Sprite Sheet:

  • Boussole
    Prix: gratuit!
    Compass comprend un génial sprite et un générateur de feuille de style, construisant les sprites à partir de vos images individuelles stockées dans un dossier. Sass est également apparenté. un préprocesseur CSS qui rend votre CSS plus claire, plus organisée et plus facile à gérer. Plus d'infos: http://enva.to/z12V70
    http://compass-style.org/
  • limonade
    Prix: gratuit!
    Extrêmement simple et facile à utiliser, Lemonade utilise Sass comme mentionné ci-dessus. Tout ce que vous avez à faire est d’ajouter une ligne de code à vos fichiers Sass ou SCSS et le tour est joué: un sprite est généré. Cependant, les développeurs ont maintenant commencé à travailler sur Compass et Sass - ne vous attendez donc pas à des mises à jour de Lemonade de si tôt.
    http://www.hagenburger.net/BLOG/Lemonade-CSS-Sprites-for-Sass-Compass.html
  • SpriteMe
    Prix: gratuit!
    Un fantastique générateur et visualiseur de feuilles de sprite basé sur bookmarklet. Il peut être utilisé pour afficher tous les sprites utilisés sur n’importe quel site Web. La meilleure caractéristique est que vous pouvez concevoir votre site Web à l'aide d'images individuelles, puis exécuter SpriteMe. Il générera rapidement une feuille de sprite que vous pouvez exporter et génère également le CSS associé au nouveau sprite. Il injecte même le sprite dans la page en cours. Si vous avez l'habitude de travailler avec des images individuelles, cela constitue la transition la plus facile vers le travail avec des feuilles de sprite. Je détaillerai plus tard l'utilisation de SpriteMe.
    http://spriteme.org/
  • Feu d'artifice CS6
    Prix: vraiment pas gratuit!
    La dernière version de Fireworks dans Creative Suite d'Adobe inclut la génération de feuilles de calcul Sprite..
    Plus d'infos: http://enva.to/IURM73
    http://www.adobe.com/devnet/fireworks/articles/css-sprites.html

  • Outils: Une introduction à SpriteMe

    SpriteMe est un bookmarklet gratuit disponible sur www.spriteme.org. Il est étonnamment simple à utiliser et a peu d'incidence sur la méthode de conception à laquelle vous êtes habitué. Il ouvrira une superposition sur le côté de l'écran où vous pourrez télécharger des images ou des sprites à partir du site Web sur lequel vous l'utilisez, ou plus important encore, générer des sprites et des CSS d'accompagnement pour vous..


    Avec SpriteMe, vous pouvez afficher les feuilles de sprite actuelles déjà sur un site Web, comme Webdesigntuts.+!

    Les images d'arrière-plan donnent un aspect satisfaisant aux pages, mais les ralentissent également. Chaque image de fond est une requête HTTP supplémentaire. Il y a un problème: combinez des images d'arrière-plan dans un sprite CSS. Mais créer des sprites est difficile, il nécessite des connaissances obscures et beaucoup d'essais et d'erreurs. SpriteMe supprime les tracas avec le clic d'un bouton. - www.spriteme.org

    Comme je l'ai déjà dit, si vous êtes habitué à travailler avec des méthodes d'image individuelles, si vous préférez cette méthode ou si vous ne pouvez pas vous soucier du travail acharné associé aux feuilles de sprites, alors SpriteMe est la solution..

    Bien que le site Webdesigntuts + ait déjà des feuilles de sprite, SpriteMe pourrait encore améliorer les choses en les combinant! Vous pouvez voir comment le CSS est exporté - avec l'alignement déjà fait. Tout ce que vous avez à faire est de copier, coller et modifier les URL!

    C'est aussi simple que de créer votre conception avec des images individuelles, puis d'exécuter SpriteMe. Il récupère toutes les images d'arrière-plan de vos sites, les regroupe en images-objets et génère la feuille d'images-objets à télécharger. Ensuite, il "injecte l'image-objet dans la page en cours" et "recalcule la position d'arrière-plan CSS" pour vous. Si vous souhaitez un meilleur guide d’utilisation de SpriteMe, consultez le site www.spriteme.org..

    Consultez le tableau des économies de SpriteMe pour voir clairement comment Sprite Sheets a permis à de nombreux sites Web d'économiser beaucoup d'espace et de temps de chargement des pages (dans la plupart des cas…).


    Conclusion

    J'espère vous avoir convaincu que Sprite Sheets est la voie à suivre: économiser de l'espace, réduire le nombre de requêtes HTTP et créer un site Web plus rapide et mieux organisé..

    En ce qui concerne les méthodes pour les générer, je recommanderais certainement la méthode "après" et je m'appuierai sur l'un des outils dont nous avons discuté pour faire tout le travail difficile.


    Autres ressources

    • SpritePad
      Un moyen extrêmement simple de créer vos propres sprites - c'est "rapide comme l'éclair". Créez facilement vos sprites et le code CSS est fait pour vous - tout est basé sur le glisser-déposer.
      http://wearekiss.com/spritepad
    • La colle
      Glue est un outil simple en ligne de commande pour générer des sprites..
      https://github.com/jorgebastida/glue
    • Sprites CSS
      Un fantastique générateur de feuilles de sprite en ligne. Téléchargez vos images, et sous vos yeux, elles sont générées sous forme de feuille de sprite, le long de avec CSS.
      http://css-sprit.es/
    • Sprite Cow
      Sprite Cow ne génère pas réellement de sprites, il vous aide à obtenir les dimensions des images dans une feuille de sprite et vous donne le CSS. Très utile si vous faites vous-même des feuilles de sprite.
      http://www.spritecow.com/
    • SpriteRight
      SpriteRight est disponible sur le Mac App Store et est idéal pour générer des feuilles de sprite. Importez vos images individuelles ou même une feuille de style et vous obtiendrez toutes les images. Le CSS est créé à la volée.
      http://spriterightapp.com/
    • Utilisation de CSS Sprites pour optimiser votre site web pour Retina Displays de Maykel Loomans