Continua la rubrica su JuliusDesign, CSS Trick in cui vedremo alcuni codici CSS per facilitare o agevolare il flusso di lavoro.
Oggi vediamo insieme come utilizzare la tecnica CSS Sprite, utilizzata creando un’unica immagine accorpando gli elementi fondamentali di una grafica web, con lo scopo di diminuire e ottimizzare il tempo di precaricamento.
Questa tecnica che consiste nel caricare una singola immagine e spostarle con l’ausilio di codice CSS al fine di aver una sola richiesta (HTTP request), allegerendo la pagina e velocizzandone la visualizzazione.
La proprietà background-position permette tramite percentuali di spostare un determinato sfondo associato a uno stile.
Grazie agli stati hover e active noi possiamo far muovere la nostra immagine e visualizzare una determianta porzione.
In questo modo l’immagini da caricare sarà solo una, e per eventuali modifiche dovremo solo fare riferimento a un unico file.
Puoi usare un qualsiasi software di editor come Fireworks o Phostohop e inserire tutti gli elementi che vuoi gestire tramite la tecnica CSS Sprite.
Sono molti i BIG che usano questa tecnica, da Google a YouTube e da Facebook a Twitter.
![]()
Per creare una corretta aggregazione di elementi grafici nel tuo file, devi stare attento a inserirli in modo che possano essere selezionati singolarmente e che non si sovrappongano.
Come vedremo nel codice CSS qui di seguito, non andremo altro che visualizzare una determianta area, quadrato o rettangolo e quindi bisogna distanziare gli elementi in modo corretto.
Il “trucco” è creare un’unica immagine con gli elementi fondamentai della nostra grafica web ben distanziati tra di loro.
Scarichiamo da 365PSD un esempio di interfaccia grafica, ecco un esempio di pulsante base associato a un comune collegamento a un testo in <a href>.
.pulsante {
background: url("grey-ui_elements.jpg");
background-repeat: no-repeat;
background-position: -22px -28px;
display: block;
height: 45px;
line-height: 42px;
margin: 0 auto;
width: 114px;
}
Questa classe ci servirà per impostare il primo stile al nostro pulsante con classe “pulsante”.
Come vedete nella classe l’attributo background-position: è impostato a X -22px e Y -28px.
a:active.pulsante {
background: url("grey-ui_elements.jpg");
background-repeat: no-repeat;
background-position: -132px -28px;
display: block;
height: 45px;
line-height: 46px;
width: 114px;
}
In questo caso agiremo sullo stato active, per simulare lo stato di pressione pulsante.
Come vedete nella classe l’attributo background-position è impostato a -132px e -28px infatt abbiamo mosso la nostra immagine orizzontalmente di 110px.
Molto importante è ricordarsi anche di definire altezza e larghezza dell’oggetto da rendere visibile e in qualche modo tagliare dalla visualizzazione.
In questo modo l’effetto sarà quello voluto, e nessuno si accorgerà che l’immagine sia stata mossa o vedere fastidiosi buci in pre-caricamento di immagini singole.
L’immagine contenete i vari oggetti può essere realizzata con un comune editor di immagini come vi dicevo prima, oppure per ottimizzare il proprio tempo bisogna sapere che esistono tools che possono darci una mano.
Tra i diversi tool gratuiti online vi segnalo SpriteBox e CSS Sprites Generator due utilissimi strumenti da consocere.
Conosci un codice CSS che potrebbe essere utile ai lettori di JuliusDesign?
Invia una email con il codice CSS+HTML dettagliato a csstrick@juliusdesign.net, il prossimo codice potrebbe essere firmato da te!
Consiglia questa tecnica ai tuoi collegi o ai tuoi amici!
Prezzo: EUR 29,00
Promozione: EUR 21,75
Prezzo: EUR 32,00
Promozione: EUR 27,20
Prezzo: EUR 24,90
Promozione: EUR 21,16
Prezzo: EUR 32,00
Promozione: EUR 24,00
Come si fa un virale? E in quali settori è più efficace? Oggi esploro il mondo del cinema a caccia di esempi che dimostrino il valore di un’azione di marketing non convenzionale per lanciare un film. Una campagna virale si crea a tavolino? E’ possibile anticiparne i risultati a priori? E quanto valore ha effettivamente, [...]
Come ogni giorno, mi ritrovo a girovagare per il web: news dal mondo, articoli di nuovi o aggiornamenti social, altro vip che si cancella da Twitter… solita routine, quando ad un tratto vengo attratto dalla notizia di un nuovo Social Network super esclusivo. Già avevo sentito parlare di Path, ma non so per quale strano [...]
Sei in metro, la tua quotidianità sta cominciando e tutto d’un tratto, ti passa una persona in mutande davanti, come se nulla fosse. Esci dalla metro, passi per il parco della tua città e senti una gran cagnara arrivare dalla giostra dei cavalli, ti avvicini e… una gara di cavalli? Sulla giostra? Certo! Ma non [...]
A distanza di un anno dall’entrata in vigore dell’obbligo relativo all’attivazione di un certificato SSL per tutte le pagine online che forniscono contenuti a Facebook, dedichiamoci ad individuare quali sono le alternative a pagamento presenti sul mercato, e quali sono le differenze esistenti. Inutile negarlo: la decisione del management di Facebook non ha agevolato la [...]
Twitter e la fotografia, un rapporto difficile, contrastato e che non riesce a decollare. Sono pochissimi i fotografi (professionisti e non) che usano il social network dell’uccellino azzurro: se è difficile farsi capire con una foto, in soli 140 caratteri il tutto diventa ancora più complicato. Ci sono però delle eccezioni (rare). Mi sono permesso [...]
Uno dei fattori più importanti quando si realizza un sito internet ed in particolare le/la sezione form registrazione è la sua ottimizzazione, per evitare che gli utenti abbandonino il sito internet. Questo è di vitale importanza in tutti i siti internet ma in particolare per i siti e-commerce (si rischia che l’utente abbandoni il carrello). [...]
Oggi voglio condividere con voi alcune interessanti ed efficaci consigli per lo sviluppo grafico di Newsletter per dispositivi mobile Qualche tempo fa mi ero soffermato su una infografica, che mi aveva colpito molto, riguardante la diffusione dei contenuti. Infatti come potete vedere qui sotto, nei giorni nostri si può percepire quanto ancora siano importanti le [...]

stefano solinas
31 gennaio 2012
Ma perchè utilizzare percentuali per le dimensioni?
Utilizzando percentuali dobbiamo fare attenzione che portino sempre ad un numero intero e non possiamo aumentare la dimensione della sprite in futuro…
Julius
31 gennaio 2012
@stefano solinas: Ottima osservazione, è sempre meglio in PX.
Enea Moro
31 gennaio 2012
@ stefano solinas:
Penso si possa anche indicare la background-position in px. Non ho mai provato, ma dovrebbe andare. Anche per immagini che richiederebbero percentuali molto esatte, con un paio di numeri dopo la virgola.
stefano solinas
31 gennaio 2012
@ Enea Moro:
eh? Puoi scrivere 10.546 pixel ma:
1) Il numero viene arrotondato e non hai lo stesso arrotondamento su tutti i browser
2) Nessun broswer che conosca crea un effetto di pixel intermedio (come sfortunatamente fa photoshop).
Quindi perchè scrivere pixel con la virgola?
vale
31 gennaio 2012
Interessante questa tecnica grazie!
Enea Moro
31 gennaio 2012
@ stefano solinas:
Intendevo che per essere precisi dovresti usare percentuali con la virgola. In quel caso è meglio l’utilizzo dei pixel al posto delle percentuali.
Saverio Gravagnola
31 gennaio 2012
Occhio Julius, il link al tag che c’è ad inizio articolo porta a pagina non trovata.
Articolo interessante cmq, adesso mi cerco e mi leggo gli altri trick che mi sa che me li sono persi.
HTM5 AndMore
1 febbraio 2012
La tecnica dei CSS Sprite è una delle migliori per aumentare la velocità del sito e diminuire il numero di richieste HTTP. Proprio qualche giorno fa ho creato una guida che ci permette di utilizzare SpriteMe, una Web App che genererà in modo automatico le tue immagini e fornirà le regole CSS da sostituire all’interno dei nostri fogli di stile.
Piccola Tip, potrete trovare anche un video dimostrativo su YouTube!
Apache 72
13 agosto 2012
ho utilizzato css generator ed ho ottenuto i codici per un’unica immagine css spriter.
Come faccio ora ad inserirla nel sito?
ho caricato la nuova immagine ottenuta con css spriter in …/miotema/images, dove ci sono anche le altre.
ora nel foglio di stile mi dice css generator di inserire
#container li { background: url(csg-50289151dcb6a.png) no-repeat top left; }
e le css rules per le immagini.
la domanda è:
nel mio foglio css ci sono varie sezioni di background che richiamano le varie immagini (che io ho assemblato), su righe diverse e non in un solo richicamo , quindi come devo fare?