CSS Sprite Sheets best practice, strumenti e applicazioni utili

Usare gli sprite CSS, invece di una raccolta di immagini individuali più piccole, migliorerà le prestazioni delle tue pagine web e manterrà le cose più organizzate. Diamo un'occhiata ad alcune best practice e alcuni strumenti utili per il tuo flusso di lavoro che crea sprite.

Il nome folletto potrebbe ricordarti degli sprite di gioco; questi ultimi i giochi per console e persino i giochi basati su browser:

e in termini CSS il ruolo degli sprite è più o meno lo stesso. Uno sprite è un file di grandi dimensioni contenente più immagini per il tuo sito web, risparmiando tempo di caricamento e spazio web.


Sprite da The Next Web

Migliori pratiche

Il punto essenziale dell'utilizzo dei fogli di sprite CSS è che il server deve solo inviare un file immagine contenente tutte le tue immagini, non una serie di quelle individuali - e tramite CSS puoi mostrare qualsiasi piccolo segmento da quel file come sfondo a un elemento.

Alcuni vorranno che l'uso di singole immagini possa "ingannare" l'occhio nel pensare che la pagina si carichi più velocemente; le immagini che compaiono durante il caricamento potrebbero sembrare un buon progresso. Questo è un falso vantaggio, tuttavia, una pagina di caricamento veramente più veloce è sempre preferibile.

L'altro svantaggio di questo metodo è che ogni singola immagine è, come abbiamo detto, un file immagine separato. Pertanto ogni immagine che il server deve ottenere conta come una richiesta HTTP separata. È importante mantenere il numero di richieste HTTP sul tuo sito il più basso possibile, in quanto i browser possono solo effettuare un numero limitato di richieste a qualsiasi server contemporaneamente.

La combinazione delle immagini in un singolo file non solo riduce significativamente il numero di richieste HTTP, ma ridurrà anche la dimensione totale del file delle immagini.


Webdesigntuts + utilizza Fogli di Sprite, scopri come visualizzarli successivamente con SpriteMe!

Diversi approcci: prima o dopo?

Ci sono due approcci comuni quando crei i tuoi fogli sprite, facendoli prima o dopo aver costruito il tuo sito.

Puoi mettere tutte le tue immagini in un foglio sprite da zero verso l'alto mentre crei il tuo sito. Aggiornerai il tuo CSS per soddisfare, mentre vai avanti. Questo è ciò a cui ci riferiremo come il prima metodo.

In alternativa, puoi creare tutte le tue immagini come file separati, il che rende la loro modifica molto più semplice. Una volta che il tuo sito è stato creato e tutte le immagini sono state preparate, puoi compilare in modo rapido e semplice manualmente o utilizzare uno dei numerosi strumenti per fare tutto il lavoro per te (su cui approfondirò più avanti). Questo, ci riferiremo come il dopo approccio.

Se sei completamente nuovo ai fogli di sprite o nuovo al web design, il metodo "dopo" è sicuramente l'opzione consigliata.

Se sei completamente nuovo ai fogli di sprite o nuovo al web design, il metodo after è sicuramente l'opzione consigliata. È possibile mantenere separatamente PSD o file per ogni singola immagine, apportare eventuali modifiche, quindi eseguire l'applicazione desiderata. Inoltre, se non sei sicuro su come scrivere tutti i CSS per le tue immagini, allora la maggior parte degli sprite che generano applicazioni produrranno anche il CSS di accompagnamento.

Molte di queste applicazioni sono completamente gratuite, un altro bonus!

Diamo un'occhiata ad alcuni suggerimenti e strumenti per aiutarti con i fogli sprite. Spetterà quindi a te scegliere l'approccio che ritieni più adatto.

Nota: la maggior parte dei seguenti suggerimenti presuppone che farai i tuoi sprite in anticipo.


Suggerimento 1: tenerlo organizzato

Quando disponi le tue immagini in Photoshop (o qualsiasi altra cosa tu usi per impaginare il tuo foglio sprite) è una buona idea cercare di organizzare le cose nel modo più chiaro e semplice possibile. Cerca di arrotondare sempre al 10 pixel più vicino, o lavorare con una certa quantità di spazio per ogni immagine se sono tutte di dimensioni simili. Quando si tratta di scrivere tutto il CSS allegato, non è necessario continuare a misurare le coordinate e sarà meno probabile che si dimentichino i numeri coinvolti.

Usare figure "più semplici" significa anche che in Photoshop sarà molto più facile usare le griglie "snap-to" o disegnare linee di griglia per mantenere le cose organizzate e semplici da capire.


Suggerimento 2: aspetta fino a quando tutto è a posto

Se metti tutte le tue immagini nel foglio sprite, impieghi anni a scrivere tutti i CSS e poi decidi che una delle immagini deve essere modificata, potrebbe causare seri problemi. Se il ridimensionamento dell'immagine deve essere modificato, potrebbe essere necessario modificare e riallineare il layout del foglio dello sprite, il che significa che dovrai passare assolutamente delle età a modificare tutti i tuoi CSS di accompagnamento.

Questo è un altro motivo per cui potresti essere più interessato a iniziare con le singole immagini e poi usare un'applicazione per fare tutto il duro lavoro per te. Dopodiché, se hai bisogno di fare un po 'di editing, riesegui l'applicazione e tutto sarà fatto. Cosa si può volere di più?


Suggerimento 3: l'etichettatura è vitale

Se usi Photoshop o altri editor di immagini simili, è una buona idea mantenere i livelli di ogni sprite ben etichettati e raggruppati, quindi tutto è perfettamente chiaro se tu (o chiunque altro) hai bisogno di capirlo più tardi.

Le tue etichette dovrebbero essere chiare e concise, facili da capire per chiunque e per tutti.

Questa dovrebbe essere una pratica abbastanza comune per la maggior parte dei progettisti, ma non rimandare l'etichettatura - fallo appena crei lo sprite. Immagina solo quanto tempo potresti risparmiare con l'etichettatura se avessi un enorme foglio di sprite e non riuscissi a trovare i livelli appropriati - potrebbe finire per diventare estremamente frustrante.

Allo stesso modo, l'etichettatura è vitale per il CSS dello sprite. Le etichette sono sicuramente necessarie per confermare quale sprite viene selezionato dal codice - e tutti i principi di cui sopra si applicano ancora. Se stai progettando un modello per la vendita su siti come Themeforest, allora qualsiasi CSS (figuriamoci Sprite Sheet CSS) dovrebbe essere chiaramente etichettato, visto che i potenziali utenti potrebbero non avere una comprensione così ampia del CSS come fai tu.


Strumenti per aiutare

C'è una vasta gamma di strumenti per rendere la tua generazione di fogli sprite il più semplice possibile. Quando crei e progetti con una serie di singole immagini, compila tutte in un foglio sprite alla fine - il metodo 'dopo'.

Ecco alcuni dei migliori generatori di fogli sprite:

  • Bussola
    Prezzo: gratuito!
    Compass include un brillante sprite e un generatore di fogli di stile, che costruisce gli sprite dalle tue singole immagini memorizzate in una cartella. Anche correlato è Sass; un preprocessore CSS che rende il tuo CSS più chiaro, più organizzato e più facile da mantenere. Maggiori informazioni: http://enva.to/z12V70
    http://compass-style.org/
  • limonata
    Prezzo: gratuito!
    Estremamente semplice e facile da usare, Lemonade usa Sass come sopra menzionato. Tutto quello che devi fare è aggiungere una riga di codice ai tuoi file Sass o SCSS e il gioco è fatto - viene generato uno sprite. Tuttavia, gli sviluppatori sono ora passati a lavorare su Compass e Sass - quindi non aspettatevi aggiornamenti a Lemonade in qualsiasi momento.
    http://www.hagenburger.net/BLOG/Lemonade-CSS-Sprites-for-Sass-Compass.html
  • SpriteMe
    Prezzo: gratuito!
    Un fantastico generatore di fogli di sprite basato su bookmarklet e visualizzatore. Può essere utilizzato per visualizzare tutti gli sprite utilizzati su qualsiasi sito web. La migliore caratteristica è che puoi progettare il tuo sito web usando le singole immagini, quindi eseguire SpriteMe. Genera rapidamente un foglio sprite che puoi esportare e genera anche il CSS associato per il nuovo sprite. Inietta persino lo sprite nella pagina corrente. Se sei abituato a lavorare con le singole immagini, questo offre la transizione più semplice per lavorare con i fogli sprite. Entrerò più nel dettaglio su come usare SpriteMe in seguito.
    http://spriteme.org/
  • Fireworks CS6
    Prezzo: Sicuramente non libero!
    L'ultima versione di Fireworks in Adobe Creative Suite include la generazione di fogli Sprite.
    Maggiori informazioni: http://enva.to/IURM73
    http://www.adobe.com/devnet/fireworks/articles/css-sprites.html

  • Strumenti: un'introduzione a SpriteMe

    SpriteMe è un bookmarklet gratuito disponibile su www.spriteme.org. È sorprendentemente semplice da usare e ha poca influenza sul metodo di progettazione a cui sei abituato. Si aprirà una sovrapposizione sul lato dello schermo in cui è possibile scaricare immagini o fogli sprite dal sito Web in cui lo si sta utilizzando, o ancora più importante generare fogli sprite e CSS di accompagnamento per voi.


    Con SpriteMe puoi visualizzare i fogli degli sprite già presenti su un sito web, come Webdesigntuts+!

    Le immagini di sfondo rendono le pagine più belle, ma le rendono anche più lente. Ogni immagine di sfondo è una richiesta HTTP aggiuntiva. C'è una soluzione: combinare le immagini di sfondo in uno sprite CSS. Ma creare gli sprites è difficile, richiede conoscenze arcane e molti tentativi ed errori. SpriteMe rimuove i problemi con il clic di un pulsante. - www.spriteme.org

    Come ho detto prima, se sei abituato a lavorare con i singoli metodi di immagine, preferisci questo metodo, o non puoi essere disturbato dal duro lavoro associato ai fogli sprite, SpriteMe è la risposta.

    Sebbene il sito Webdesigntuts + disponga già di fogli sprite, SpriteMe potrebbe ancora migliorare le cose combinandole! Puoi vedere come viene esportato il CSS, con l'allineamento già fatto. Tutto quello che devi fare è copiare, incollare e modificare gli URL!

    È semplice come creare il tuo disegno con le singole immagini, quindi eseguire SpriteMe. Cattura tutte le immagini di sfondo dai tuoi siti, li raggruppa in sprite e genera il foglio sprite da scaricare. Successivamente "inserisce lo sprite nella pagina corrente" e "ricalcola la posizione di sfondo CSS" per te. Se vuoi una guida migliore per usare SpriteMe, trovala su www.spriteme.org.

    Controlla la tabella dei risparmi di SpriteMe per vedere chiaramente come i fogli di Sprite hanno salvato molti siti web in un sacco di spazio e tempi di caricamento della pagina (nella maggior parte dei casi ...)


    Conclusione

    Spero di averti persuaso che i fogli di Sprite siano la soluzione giusta: risparmiare spazio, ridurre le richieste HTTP e portare a un sito Web più veloce e più organizzato.

    Per quanto riguarda i metodi per generarli, raccomanderei senz'altro il metodo "dopo", e mi baso su uno degli strumenti che abbiamo discusso per fare tutto il duro lavoro.


    Altre risorse

    • SpritePad
      Un modo estremamente semplice per creare i tuoi sprite: è "fulmineo". Crea facilmente i tuoi sprite e il codice CSS è fatto per te - tutto è basato sul drag and drop.
      http://wearekiss.com/spritepad
    • Colla
      Glue è un semplice strumento a riga di comando per generare sprite.
      https://github.com/jorgebastida/glue
    • CSS Sprites
      Un fantastico generatore di fogli di sprite online. Carica le tue immagini e davanti ai tuoi occhi vengono emesse come sprite sheet, insieme al CSS.
      http://css-sprit.es/
    • Sprite Cow
      Sprite Cow in realtà non genera sprite, ti aiuta a ottenere le dimensioni delle immagini all'interno di un foglio sprite e ti dà il CSS. Molto utile se fai fogli sprite da solo.
      http://www.spritecow.com/
    • SpriteRight
      SpriteRight è disponibile sul Mac App Store ed è ideale per generare fogli sprite. Importa le tue immagini individuali o importa anche un foglio di stile e otterrà tutte le immagini per te. Il CSS è creato al volo.
      http://spriterightapp.com/
    • Usando CSS Sprites per ottimizzare il tuo sito web per Retina Displays di Maykel Loomans