Je n'ai pas beaucoup d'expérience avec l'approche Sprite des images ( http: //www.alistapart. com / articles / sprites ). Toute personne s'occupe de partager des avantages / inconvénients des sprites vs. Tranches de la vieille école? P>
10 Réponses :
L'avantage principal des sprites est que le navigateur doit demander moins d'images du serveur Web. Cela réduit le nombre de demandes HTTP et permet de compresser plus efficacement les parties de la conception. Ces deux points représentent également les inconvénients des images tranchées. P>
Ici, vous pouvez voir de bons exemples comment les sprites améliorent la vitesse de chargement des pages Web: P>
L'inconvénient principal des sprites est qu'il est difficile de lire / gérer / modifier votre CSS. Il peut être difficile de rappeler les compensations exactes de pixels dans le sprite. P>
Avantages: P>
contre: p>
Il convient également d'être utilisé comme étant utilisé comme image de fond, cela pourrait ne pas être imprimé si l'utilisateur souhaite imprimer la page. Solution: L'utilisateur doit vérifier les boutons d'images d'impression (couleurs / images) de leur navigateur Web. I.e firefox: fichier goto-> print-> page configuration-> cochez la case ... J'espère que cela aide quelqu'un
Avantages: p>
contre: p>
Avantages à l'aide de sprites: Comme il utilise 1 images pour tous, il nécessite moins de charge sur le serveur HTTP. p>
contre: - Difficile à coder. Vous devez connaître la coordonnée de chaque image à l'intérieur des sprites afin que vous puissiez l'afficher correctement. Une fois que vous avez changé la taille de l'image, vous devez ajuster tout ... - Les grosses images pourraient créer une longue page attendu à afficher. Lors de l'utilisation d'images, l'utilisateur avec une connexion Internet lente peut en voir un par un. P>
meilleures pratiques. Utilisez-le, par exemple, rouler sur des images. p>
Recherchez à l'aide d'un générateur de sprite CSS (nous utilisons SmartSprites ). De cette façon, vous pouvez faire des tranches localement et que votre processus de construction génère un spritemap. C'est le meilleur des deux mondes. P>
aussi est que SmartSprion n'est pas pour vous, il y a définitivement d'autres, mais je l'aime parce qu'il réduit la quantité de travail à l'avant et pendant les changements. P>
contre - plus lent sur les navigateurs plus anciens / peut ne pas travailler sur eux avec effet de survol (Opera6) - Si non utilisé correctement, peut devenir très / trop énorme (les grouper de manière adéquate!) - travail fastidieux pour les mettre en place p>
Avantages - Moins d'octets transférés, car une grosse image est plus petite, alors toutes les images individuelles combinées (une table d'en-tête / couleur) - Moins de demandes HTTP P>
sprites CSS: p>
Avantages: p>
contre: p>
Tranchement d'image: P>
Avantages: p>
contre: p>
Je préfère aller au centre de regroupement d'images similaires (Normal, Hover, page sélectionnée, page parent de la page sélectionnée) que toutes les images d'un fichier. Pour les faire, vous découpez l'image comme Normal dans Photoshop ou Illustrator, ouvrez les fichiers et combinez-les avec une touche de raccourci. J'ai écrit le script photoshop qui Combine des images dans les sprites CSS . Vous aurez plusieurs connexions HTTP, mais n'aurez pas le délai de chargement sur la survolte. P>
Un inconvénient souvent sur l'utilisation des sprites CSS est une empreinte mémoire: p>
sauf si l'image Sprite est soigneusement construite, vous vous retrouvez avec quantités incroyables d'espace gaspillé. Mon exemple préféré est de whit Site Web de TV, où Cette image < / a> est utilisé comme sprite. Noter que Ceci est un PNG de 1299 × 15 000 PNG. Il se compresse assez bien - le réel La taille de téléchargement est d'environ 26k - mais les navigateurs ne rendent pas comprimé Données d'image. Lorsque cette image est téléchargée et décompressée, elle sera Utilisez près de 75 Mo en mémoire (1299 * 15000 * 4). P> blockQuote>
Lorsque des sprites sont chargés dans le navigateur, ils sont stockés non compressés. Un fichier de 26 Ko peut être décompressé pour prendre une hausse de 75 Mo de RAM. Vous devriez être conscient de l'utilisation de sprites avec de très grandes dimensions. P>
Il y a aussi la question de ce qui se passe dans les navigateurs avec un soutien au CSS pauvre (navigateurs hérités). Les sprites peuvent se retrouver totalement cassés. P>
Tu voulais sûrement kb pas mb?
Non, c'est MB, pas KB. Une image vierge de 15 000 px de hauteur comprime de minuscule, mais prend une grande quantité d'espace lorsqu'il est décompressé.