2009-05-13 14 views
17

Lo scopo principale degli sprite è ridurre le richieste HTTP fatte al server per elementi grafici su una pagina? O vuoi provare a inserire quanti più elementi possibili nello sprite.Quando uno Sprite CSS è troppo grande?

Immagino che cosa sto chiedendo: quando lo sprite è troppo grande?

risposta

16

È troppo grande quando l'utente deve attendere il download del file prima che la pagina possa essere utilizzata.

3

È possibile imballare tutti i piccoli elementi di progettazione statici in un'unica immagine principale senza grossi problemi.

Naturalmente, se si dispone di foto da 10 megapixel sul proprio sito Web, imballarle insieme sarebbe una follia.

+4

Se hai foto da 10 megapixel come elemento statico su ogni pagina del tuo sito, è comunque follia. –

+0

Cosa succede se si tratta di una home page di un fotografo con esempi di lavoro? – User

+2

@Mastermind: Se fossi il fotografo, realizzerei comunque immagini più piccole per il sito web, riservando le immagini full-rez per il download separato ed esplicito. Ma sono solo io .... – RolandTumble

1

Sì, lo scopo principale è ridurre le richieste (e quindi il tempo di caricamento). Un altro vantaggio è che devi solo preoccuparti che un'immagine venga memorizzata correttamente nella cache. Suggerimento: usa le immagini PNG poiché la loro compressione gestisce meglio le aree bianche ("vuote") di grandi dimensioni.

7

Lo scopo principale degli sprite è ridurre le richieste HTTP fatte al server per elementi grafici su una pagina?

Sì, si desidera evitare di avere molte richieste per le immagini di piccole dimensioni. Combinandoli in uno sprite consente di recuperarli in un'unica richiesta http.

quando lo sprite è troppo grande?

È davvero il totale di tutte le richieste che si desidera esaminare. L'unico modo per lo sprite di essere troppo grande è se la somma delle sue parti (che è esattamente ciò che lo sprite è) è troppo grande per cominciare.

2

Uno sprite CSS è troppo grande quando si include qualcosa tranne gli elementi essenziali dell'interfaccia utente. Queste sono piccole immagini supplementari come icone e loghi in cui la compressione non danneggia troppo la qualità. Dal momento che tutte quelle immagini sarebbero state altrimenti caricate indipendentemente, non sei peggio di chiederle individualmente. Se impiega troppo tempo a caricarsi, il problema non dipende dagli sprite, ma dalla compressione delle immagini.

0

Google maps utilizza immagini [256x256] px.

5

Per quanto riguarda gli sprite, si dovrebbe verificare la discussione sulla utilizzo della memoria sotto questo post del blog anche: http://blog.mozilla.com/webdev/2009/03/27/css-spriting-tips/

Il mio consiglio:

  • Solo sprite icona righe, bottoni e immagini ripetute (ad esempio una rotonda casella di sfumatura d'angolo).
  • Lascia tutto il resto da solo
  • Mantieni le tue immagini sotto 500x500 o 100kb e lascia il minimo spazio inutilizzato possibile. Utilizzare .png o .gif a seconda della situazione
10

Se si utilizza PNG per il tipo di immagine sprite, è utile ricordare che ogni riga è generalmente compressa (sgonfiata) indipendentemente dalle altre righe.

Quindi, per aiutare con il bilanciamento del numero di sprite/dimensione dell'immagine, provare ad adattare sprite simili l'uno accanto all'altro orizzontalmente piuttosto che verticalmente per sfruttare la compressione.

PNG supporta anche "predittori" che memorizzano solo i delta tra un valore previsto (basato su righe precedenti e pixel precedenti nella stessa riga) e il valore effettivo.

Trova un buon editor di immagini che ti permetta di impostare diverse impostazioni di compressione del predittore PNG (o ottimizza automaticamente) per trovare l'impostazione migliore per la tua immagine.

+3

"Trova un buon editor di immagini che ti permetta di impostare diverse impostazioni di compressione dei predittori PNG (o ottimizza automaticamente) per trovare le impostazioni migliori per la tua immagine." In pratica significa Salva per il web in Photoshop. – Wolfr

+1

'pngcrush' vale la pena andare - Ho visto ridurre le dimensioni dei file di PNG salvate con il comando Salva per Web di PhotoShop. È bruto: forza il problema, provando diverse impostazioni di compressione e visualizzando i risultati nel file più piccolo. Acorn on the Mac utilizza pngcrush automaticamente quando si salvano i PNG per il Web. –

+1

Per una compressione png rapida e antiproiettile su OS X, consulta ImageOptim: http://imageoptim.com/ –