Usa gli sprite per creare un menu di navigazione pieno di sensazioni

Gli sprite CSS possono aumentare notevolmente le prestazioni di un sito Web e con jQuery, possiamo implementare facilmente effetti di transizione fantastici. Iniziamo.


Dettagli dell'esercitazione

  • Requisiti:
    • Conoscenza di base di jQuery
    • Conoscenza di base di Photoshop
    • Conoscenza di base dei CSS
  • Difficoltà: intermedia
  • Tempo di completamento stimato: 40 minuti

Cos'è uno Sprite CSS?

Gli sprites risalgono ai primi giorni dei videogiochi, dove venivano utilizzati come tecnica di ottimizzazione per la visualizzazione di grafica 2D. Uno sprite CSS è una tecnica che consiste nel raggruppare le immagini per formare un'unica immagine principale e quindi visualizzare in modo selettivo solo le sezioni richieste utilizzando gli attributi CSS (larghezza, altezza, posizione di sfondo ecc.).

In questo tutorial creeremo un menu di navigazione ispirato a Dragon Interactive. Hanno un eccellente concetto di design, con un perfetto uso di luci e colori.

Passo 1

Inizia creando un nuovo documento Photoshop, che è largo 800 px per un'altezza di 500 px.

Passo 2

Successivamente, creeremo un righello orizzontale al segno di 70 pixel andando a visualizzare -> nuova guida; questa sarà la nostra altezza del menu.

Passaggio 3

Ora stiamo andando a creare un menu di cartelle, e al suo interno, una sottocartella chiamata "Menu Text".

Passaggio 4

Seleziona lo strumento testo (scorciatoia: t) e imposta le seguenti proprietà nella casella degli strumenti.

  • Carattere: Franklin Gothic Medium Cond
  • Dimensione carattere: 15pt
  • Colore nero

È possibile utilizzare anche altri tipi di carattere, ma questa famiglia di caratteri è più adatta per l'effetto di testo incorporato che verrà fornito in seguito. Se non hai questo tipo di carattere puoi ottenerlo dal sito web.

Passaggio 5

Crea un altro righello orizzontale a 40px, questo ti aiuterà a mantenere il nostro testo del menu allineato orizzontalmente.

Passaggio 6

Ora seleziona la cartella di testo del menu e digita le parole di menu HOME, SERVIZI, PORTFOLIO, INFORMAZIONI e CONTATTO, mantenendo gli stessi spazi tra ciascuna. Ora dovrebbe apparire come l'immagine qui sotto.

Passaggio 7

Ora crea un'altra cartella sotto la cartella di testo del menu e chiamala "Sfondo menu".

Passaggio 8

Creiamo quindi un nuovo livello all'interno della cartella Sfondo menu e, quindi, utilizzando uno strumento di selezione rettangolare, creiamo una selezione di 100 px di larghezza e 70 px di altezza.

Passaggio 9

Seleziona lo strumento sfumatura (scorciatoia: g) e imposta i colori sfumati da # 555555 a #adadae .

Passaggio 10

Ora traccia una sfumatura a partire dalla parte inferiore della selezione fino all'inizio della selezione; quindi dargli un colpo con le seguenti proprietà:

  • Dimensione del tratto: 1px
  • Posizione: fuori
  • Colore nero

Il tratto è stato aggiunto per fornire profondità alle nostre divisioni di menu.

Passaggio 11

Ora per ottenere le estremità altamente lucidate e per creare l'effetto corretto quando si verifica il passaggio del mouse al mouse, gli daremo un punto culminante adiacente.

Passaggio 12

Vai a selezionare> modifica> contratto e inserisci 1px.

Passaggio 13

Seleziona lo strumento di masterizzazione e imposta le seguenti proprietà:

  • Dimensione pennello: circa 200 px
  • Durezza pennello: 0%
  • Intervallo: ombre
  • Esposizione: 30%

Passaggio 14

Ora sposteremo la divisione del menu a destra 1px, usando lo strumento sposta (scorciatoia: v) per mostrare il lato sinistro del tratto, che era invisibile a causa della sua posizione.

Passaggio 15

Crea copie del livello precedente e regolale rispetto al testo del menu.

Due cose che devono essere notate

  • Trasforma (ctrl + t) e aumenta la dimensione del livello sotto SERVIZI e PORTFOLIO, poiché sono più larghi delle altre parole. Cambia la lunghezza da 100 px a 110 px.
  • Il tratto degli strati adiacenti deve sovrapporsi l'un l'altro.

Questo è l'aspetto del menu quando regoliamo il posizionamento dei livelli e il testo del menu di conseguenza.

Passaggio 16

Per incorporare l'effetto tipografico, aggiungiamo al nostro testo l'effetto "Ombra esterna" con le seguenti impostazioni:

  • Colore: # b7b6b6
  • Opacità: 40%
  • Distanza: 1px
  • Diffusione: 100%
  • Dimensione: 0px

Passaggio 17

Ora è il momento di creare l'aspetto del menu durante lo stato di passaggio del mouse. Crea una copia della cartella "Menu Background" e rinominala in "Menu Hover". Quindi, usando lo strumento sposta, sposta la cartella 70px verso il basso in modo che la parte superiore del menu appena creato tocchi la guida orizzontale.

Il motivo per cui abbiamo creato la copia della cartella del menu è perché siamo interessati al posizionamento del testo del menu. Se lo avessimo creato manualmente, dovremmo preoccuparci dell'allineamento esatto del testo del menu, che sarebbe molto più noioso.

Passaggio 18

Ora selezioneremo il livello di sfondo del menu di servizio dalla cartella "Menu Hover" e gli diamo un elegante effetto sullo stato di hover. Per fare ciò, prima crea una selezione premendo ctrl e clicca sul livello; quindi premere Elimina, che cancellerà la tonalità corrente. Il prossimo…

  • Colore - # 9de0ff alla posizione 0%
  • Colore - # 0072ff al 50% di posizione
  • Colore - # 00sempre al 100% di posizione

Seleziona il gradiente radiale e traccia una linea dal fondo della selezione a 30 px sopra la parte superiore della selezione.

Passaggio 19

Il nostro lavoro non è ancora finito. Per dare un tocco morbido, dobbiamo lucidarlo un po 'di più. Per creare una divisione di menu più rivelatrice, renderemo i bordi più scuri. Per ottenere ciò, dobbiamo aggiungere i seguenti effetti:

  • Seleziona lo strumento Brucia, con una dimensione del pennello di 200 px, intervallo - evidenziazione ed esposizione al 50%, spostalo lungo i bordi della divisione.
  • Per rendere i bordi ancora più scuri, aggiungiamo un effetto ombra interno:
    • Modalità di fusione: luce intensa
    • Opacità: 70%
    • Distanza: 0px
    • Induttanza: 0%
    • Dimensioni: 10px

Passaggio 20

Applicare un effetto simile per il portfolio e per i menu. Per il menu di contatto, modifica i colori del gradiente in:

  • Colore - # ff9dbd a 0% Posizione
  • Colore - # ff0084 al 50% Posizione
  • Colore - # a00337 al 100% Posizione

Ecco come appare il nostro menu ora:

Passaggio 21

La divisione del menu home deve ricevere un trattamento speciale; seleziona il livello premendo ctrl e facendo clic sul livello. Premi Elimina per rimuovere la sfumatura attuale e seleziona lo strumento sfumatura con i seguenti colori:

  • Colore - # fff5c0 in posizione 0%
  • Colore - # fae15d con posizione del 50%
  • Colore - # eac500 al 100% Posizione

Questa volta, seleziona il gradiente lineare e traccia una sfumatura dalla parte superiore della selezione alla fine della selezione.

Passaggio 22

Seleziona lo strumento Brucia, mantenendo il resto delle proprietà lo stesso eccetto per l'intervallo, impostalo sui mezzitoni e applica pennellate attorno ai bordi tranne che per la parte superiore.

Passaggio 23

Ora per creare l'effetto vetro: seleziona lo strumento penna, assicurati che sia selezionato "riempimento forma" e disegna la forma come quella nell'immagine e imposta la modalità di fusione su luce morbida con un'opacità di circa il 40%.

Passaggio 24

Altre due cose prima che abbiamo finito con la parte di Photoshop.

  • Innanzitutto, l'effetto del testo nella cartella "Menu Hover" non è abbastanza elegante; quindi cambiamo il colore della proprietà ombra esterna.
    • Menu Home
      • Colore: # fff368
      • Opacità: 80%
      • Aggiungi anche il gradiente di sovrapposizione: # 854406 a b75a03
    • Servizi, portfolio e informazioni sui menu
      • Colore: # 78bbff
      • Opacità: 70%
    • Menu di contatto
      • Colore: # f78bb6
      • opacità: 80%
  • Secondo è l'ultima divisione nella cartella Menu non ha un punto culminante adiacente a destra; quindi cliperemo una piccola parte del livello di sfondo e lo allineeremo vicino al livello di sfondo del contatto. Quindi, ritagliamo l'immagine e salviamo.

Finalmente la nostra immagine sprite sembra così:

Passaggio 25

Ora arriva la sezione di codifica, che è abbastanza facile. Creare un file html e aggiungere il seguente codice:

       Menu fantastico   

Qui abbiamo creato un semplice file html, che consiste in una lista non ordinata, la nostra barra di navigazione. Prima di andare avanti, diamo un'occhiata a un paio di file che ora stiamo importando:

  • style.css è il file CSS esterno in cui modelleremo la nostra lista di navigazione.
  • Abbiamo importato jQuery per l'animazione al passaggio del mouse.
  • Viene utilizzato anche il plug-in di jQuery che verrà esaminato in seguito.
  • È buona pratica creare un file js esterno per il nostro lavoro, quindi lo facciamo anche in "sprite.js".

Passaggio 26

Crea un file .js esterno, chiamato sprite.js, e incolla il seguente codice.

 $ (function () $ ('# navigation li a'). append (''); // span la cui opacità si animerà quando si posiziona il mouse. $ ('# navigation li a'). hover (function () $ ('. hover', this) .stop (). animate ('opacity': 1, 700, 'easeOutSine'), funzione ( ) $ ('. hover', this) .stop (). animate ('opacity': 0, 700, 'easeOutQuad')));

Quando il DOM viene caricato, inseriamo una span nel nostro tag di ancoraggio; questa estensione sarà effettivamente animata. Quindi, usando la funzione di passaggio del mouse per il tag di ancoraggio, animiamo l'opacità dello span. Per creare un'animazione più fluida, useremo l'equazione di andamento. Sto usando "easyoutsine" e "easoutquad"; sentiti libero di provare combinazioni alternative, se lo desideri.

Passo 27

Ora arriva la parte CSS. Crea il file style.css. Di seguito è l'immagine iniziale di come appare il menu. Per ora, sono solo quattro punti, perché non lo abbiamo ancora disegnato.

Passaggio 28

Innanzitutto, allineamo la lista.

 body background: # 000000;  #navigation margin-left: 250px;  #navigation li float: left; 

Abbiamo spostato solo un po 'il menu al centro.

Passaggio 29

Modella il tag di ancoraggio; il suo background sarà la nostra immagine sprite.

 #navigation li a background-image: url (images / sprite.jpg); blocco di visualizzazione; 

Lo stile di visualizzazione deve essere impostato su blocco; altrimenti, non verrà visualizzato nulla.

Nel prossimo passaggio, daremo a ciascuno di essi il posizionamento corretto.

 .home background-position: 0px 0px; larghezza: 102px; altezza: 70px;  .services background-position: -102px 0px; larghezza: 110px; height: 70px. portfolio background-position: -212px 0px; larghezza: 108px; height: 70px. about background-position: -320px 0px; larghezza: 102px; height: 70px .contact background-position: -422px 0px; larghezza: 103px; altezza: 70px

Qui, abbiamo impostato il posizionamento in background e la larghezza di ogni tag di ancoraggio. I valori possono variare e richiede un po 'di tempo per essere perfetto.

Passaggio 30

 #navigation a .hover background: url (images / sprite.jpg) no-repeat; blocco di visualizzazione; opacità: 0; posizione: relativa; inizio: 0; a sinistra: 0; altezza: 100%; larghezza: 100%;  #navigation a.home .hover background-position: -0px -72px;  #navigation a.services .hover background-position: -102px -72px;  #navigation a.portfolio .hover background-position: -212px -72px;  #navigation a.about .hover background-position: -320px -72px;  #navigation a.contact .hover background-position: -422px -72px; 

Ora definiremo il CSS per lo span; questa è la stessa immagine sprite che viene usata sopra. L'altezza e la larghezza sono fatte al 100% in modo che occupi l'intero blocco di ancoraggio. Lo sfondo di ogni tag span viene regolato e, infine, il nostro lavoro è completo.

Passaggio 31

Si noti che ci vuole tempo per ottenere la regolazione della posizione e della larghezza a destra; potresti ritrovarti con valori leggermente diversi per questi attributi - e questo è perfettamente a posto!

Risorse CSS Sprites

Phew sembra un sacco di lavoro, ma grandi cose richiedono tempo per crescere. Ecco alcune risorse aggiuntive che potresti trovare utili.

  • CSS Tricks ha un fantastico tutorial per principianti.
  • Troppo noioso per te? Ecco un plugin che converte la tua immagine sprite in un menu.
  • Un fan di MooTools? Dai un'occhiata a questo tutorial pulito.
  • cssSprites.com
  • Seguici su Twitter o iscriviti al feed Nettuts + RSS per i migliori tutorial di sviluppo web sul web.