Bruk Sprites til å opprette en underholdningsfylt navigasjonsmeny

CSS sprites kan dramatisk øke nettstedets ytelse, og med jQuery kan vi enkelt implementere fantastiske overgangseffekter. La oss komme i gang.


Opplæringsdetaljer

  • Krav:
    • Grunnleggende kunnskap om jQuery
    • Grunnleggende kunnskap om Photoshop
    • Grunnleggende kunnskap om CSS
  • Vanskelighetsgrad: Mellomliggende
  • Anslått sluttid: 40 min

Hva er en CSS Sprite?

Sprites dateres tilbake til de tidlige dagene av videospill, der de ble brukt som optimaliseringsteknikk for visning av 2D-grafikk. En CSS-sprite er en teknikk som involverer å gruppere bilder for å danne et enkelt masterbilde og deretter selektivt vise bare de nødvendige delene ved hjelp av CSS-attributter (bredde, høyde, bakgrunnsposisjon osv.).

I denne opplæringen lager vi en navigasjonsmeny inspirert av Dragon Interactive. De har et utmerket designkonsept, med perfekt bruk av høydepunkter og farger.

Trinn 1

Begynn med å lage et nytt Photoshop-dokument, som er 800px bredt ved 500px høyt.

Steg 2

Deretter skal vi opprette en horisontal linjal ved 70px-merket ved å se -> ny guide; Dette vil være vår menyhøyde.

Trinn 3

Nå skal vi lage en mappemeny, og inne i den, en undermappe kalt "Meny Tekst".

Trinn 4

Velg tekstverktøyet (snarvei: t) og angi følgende egenskaper i tegneverktøykassen.

  • Font: Franklin Gothic Medium Cond
  • Skriftstørrelse: 15pt
  • Farge svart

Andre skrifttyper kan også brukes, men denne skrifttypefamilien passer best til innebygd tekst-effekt som vi vil gi senere. Hvis du ikke har denne skrifttypen, kan du få den fra Nettstedet.

Trinn 5

Opprett en annen horisontal linjal ved 40px, dette vil bidra til å holde vår menytekst horisontalt justert.

Trinn 6

Velg nå menytekstmappen, og skriv menyordene HJEM, TJENESTER, PORTFOLIO, OM OG KONTAKT, og hold like mellomrom mellom hver. Det skal nå se ut som bildet nedenfor.

Trinn 7

Opprett nå en annen mappe under menyen tekstmappen, og nevn den "Menybakgrunn."

Trinn 8

La oss neste lage et nytt lag i menyen Bakgrunnsmappe, og deretter bruke et rektangulært markeringsverktøy, opprett et utvalg på 100px bred og 70px høy.

Trinn 9

Velg gradientverktøyet (snarvei: g), og sett gradientfargene fra # 555555 til #adadae .

Trinn 10

Tegn nå en gradient fra bunnen av valget til toppen av valget; så gi det et slag med følgende egenskaper:

  • Stroke Størrelse: 1px
  • Posisjon: utenfor
  • Farge svart

Stroppen ble lagt til for å gi dybde til menyavdelingene.

Trinn 11

Nå For å oppnå de høypolerte endene, og for å skape den riktige effekten når musepekeren oppstår, vil vi gi den et tilstøtende høydepunkt.

Trinn 12

Gå til velg> endre> kontrakt og skriv inn 1px.

Trinn 13

Velg brennverktøyet og angi følgende egenskaper:

  • Penselstørrelse: rundt 200px
  • Børstehårdhet: 0%
  • Område: Skygger
  • Eksponering: 30%

Trinn 14

Nå vil vi flytte meny divisjonen rett 1px, ved hjelp av flytteverktøyet (snarvei: v) for å vise venstre side av streken, som var usynlig på grunn av sin posisjon.

Trinn 15

Lag kopier av ovennevnte lag og juster dem i forhold til menyteksten.

To ting som må bli notert

  • Transform (ctrl + t) og øk størrelsen på laget under TJENESTER og PORTFOLIO, siden de er bredere enn de andre ordene. Endre lengden fra 100px til 110px.
  • Slaget til de tilstøtende lagene må overlappe hverandre.

Dette ser ut som menyen ser ut når vi justerer plasseringen av lagene og menyteksten tilsvarende.

Trinn 16

For å legge inn den typografiske effekten legger vi til "Drop Shadow" -effekten med følgende innstillinger i teksten vår:

  • Farge: # b7b6b6
  • Opasitet: 40%
  • Avstand: 1px
  • Spredt: 100%
  • Størrelse: 0px

Trinn 17

Nå er det på tide å lage hva menyen ser ut i løpet av musemarkøren. Opprett en kopi av mappen "Menybakgrunn", og omdø nytt den til "Menykobling". Deretter flytter du mappen 70px nedover, ved hjelp av flytteverktøyet, slik at den nyopprettede menyens toppdel berører den horisontale guiden.

Årsaken til at vi har laget kopien av menymappen, er fordi vi er interessert i plasseringen av menyteksten. Hvis vi hadde opprettet det manuelt, måtte vi bekymre oss for den nøyaktige justeringen av menyens tekst, noe som ville være mye mer kjedelig.

Trinn 18

Nå vil vi velge bakgrunnslaget på servicemenyen fra mappen "Menyovergang", og gi den en fin, elegant effekt på hover-tilstanden. For å gjøre dette, må du først opprette et valg ved å trykke ctrl og klikke på laget; Trykk deretter på slett, som vil slette gjeldende nyanse. Neste ...

  • Farge - # 9de0ff på 0% Beliggenhet
  • Farge - # 0072ff ved 50% Sted
  • Farge - # 005ead på 100% Sted

Velg radial gradient, og trekk en linje fra bunnen av valget til 30px over toppen av valget.

Trinn 19

Vårt arbeid er ikke ferdig ennå. For å gi det en jevn berøring, må vi polere det litt mer. For å lage en mer avslørende meny divisjon, vil vi gjøre kantene mørkere. For å oppnå dette må vi legge til følgende effekter:

  • Velg brennverktøyet, med en penselstørrelse på 200px, rekkevidde - markere og eksponere til 50%, børste den langs kantene på divisjonen.
  • For å gjøre kantene enda mørkere, legger vi til en indre skyggeeffekt:
    • Blandingsmodus: Hardt lys
    • Opacity: 70%
    • Avstand: 0px
    • Choke: 0%
    • Størrelse: 10px

Trinn 20

Påfør en tilsvarende effekt for porteføljen og om menyer. For kontaktmenyen, endre gradientfargene til:

  • Farge - # ff9dbd på 0% Sted
  • Farge - # ff0084 ved 50% Beliggenhet
  • Farge - # a00337 på 100% Beliggenhet

Dette hva vår meny ser ut som nå:

Trinn 21

Hjemmemenyavdelingen må gis spesiell behandling; velg laget ved å trykke ctrl og klikke på laget. Trykk slett for å fjerne gjeldende nyanse, og velg gradientverktøyet med følgende farger:

  • Farge - # fff5c0 på 0% Beliggenhet
  • Farge - # fae15d ved 50% Sted
  • Farge - # eac500 på 100% plassering

Denne gangen velger du lineær gradient, og tegner en gradient fra toppen av valget til bunnen av valget.

Trinn 22

Velg brennverktøyet, hold resten av egenskapene like unntatt rekkevidden, sett den til midttoner, og bruk penselstrenger rundt kantene bortsett fra toppen.

Trinn 23

Nå for å lage den glassaktige effekten: velg pennverktøyet, pass på at "formfylling" er valgt, og tegne formen som den i bildet, og sett blandingstilstanden til mykt lys med en opasitet på ca 40%.

Trinn 24

To ting før vi er ferdig med Photoshop-delen.

  • For det første ser ikke tekst-effekten i mappen "Menu Hover" seg elegant ut; så vi bytter farge på drop shadow egenskapen.
    • Hjemmeny
      • Farge: # fff368
      • Opacity: 80%
      • Legg også til gradientoverlegg: # 854406 til b75a03
    • Tjenester, Portefølje og Om menyer
      • Farge: # 78bbff
      • Opacity: 70%
    • Kontaktmeny
      • Farge: # f78bb6
      • opasitet: 80%
  • For det andre er den siste delen i menyen mappen ikke et tilstøtende høydepunkt til høyre; så vi vil klippe en liten del av bakgrunnslaget, og justere det ved siden av kontaktbakgrunnslaget. Da beskjærer vi bildet og lagrer.

Endelig ser vårt spritbilde ut slik:

Trinn 25

Nå kommer kodingsdelen, som er ganske enkelt. Lag en html-fil, og legg til følgende kode:

       Fantastisk meny   

Her har vi opprettet en enkel html-fil, som består av en uordnet liste - vår navigasjonslinje. Før vi går videre, la oss ta en titt på et par filer vi skal importere nå:

  • style.css er den eksterne CSS-filen der vi skal utforme vår navigasjonsliste.
  • Vi har importert jQuery for animasjonen på hover.
  • Den jQuery easing plugin brukes også, som vi vil se senere.
  • Det er god praksis å lage en ekstern js-fil for vårt arbeid, så gjør vi det også i "sprite.js."

Trinn 26

Opprett en ekstern .js-fil, kalt sprite.js, og lim inn i følgende kode.

 $ (funksjon () $ ('# navigasjon li a'). append (''); // span hvis opacity vil animere når musen svinger. $ ('# navigasjon li a'). hover (funksjon () $ ('.overveier', dette) .stop (). animate ('opacity': 1, 700, 'easeOutSine'), funksjon ) $ ('hover', dette) .stop (). animate ('opacity': 0, 700, 'easeOutQuad')));

Når DOM er lastet, injiserer vi et spann inn i ankeretiketten vår; dette spekteret vil faktisk animere. Deretter anvender vi svingerfunksjonen til ankermerket, slik at spenningen er uklar. For å skape en jevnere animasjon, vil vi bruke lette likningen. Jeg bruker 'easeoutsine' og 'easeoutquad'; Du kan gjerne prøve alternative kombinasjoner, hvis du ønsker det.

Trinn 27

Nå kommer CSS-delen. Lag stilen.css-filen. Nedenfor er det første bildet av hva menyen ser ut. For nå er det bare fire punkter, fordi vi ennå ikke har stylet det.

Trinn 28

Først justerer vi listen.

 kropp bakgrunn: # 000000;  #navigering margin-left: 250px;  #navigation li float: left; 

Vi har bare flyttet menyen i sentrum litt.

Trinn 29

Stil ankeretiketten; Bakgrunnen blir vår spritbilde.

 #navigation li a background-image: url (images / sprite.jpg); display: block; 

Skjermstilen må være innstilt for å blokkere; ellers vil ingenting bli vist.

I neste trinn vil vi gi hver av dem riktig posisjonering.

 .hjem bakgrunnsstilling: 0px 0px; bredde: 102px; høyde: 70 piksler; . tjenester bakgrunnsposisjon: -102px 0px; bredde: 110px; høyde: 70px .portefølje bakgrunnsstilling: -212px 0px; bredde: 108px; høyde: 70px .om bakgrunnsstilling: -320px 0px; bredde: 102px; høyde: 70px .kontakt bakgrunnsstilling: -422px 0px; bredde: 103px; høyde: 70px

Her har vi satt bakgrunnsplasseringen og bredden på hver ankermerke. Verdiene kan variere, og det krever litt tid for å bli perfekt.

Trinn 30

 #navigasjon a. over bakgrunn: url (images / sprite.jpg) no-repeat; skjerm: blokk; opasitet: 0; stilling: relativ; topp: 0; venstre: 0; høyde: 100%; bredde: 100%;  #navigasjon a.home .hover bakgrunnsposisjon: -0px -72px;  #navigering a.tjenester. over bakgrunnsstilling: -102px -72px;  #navigasjon a.portefølje. over bakgrunnsstilling: -212px -72px;  #navigasjon a.about. over bakgrunnsstilling: -320px -72px;  #navigation a.contact. over bakgrunnsstilling: -422px -72px; 

Nå skal vi definere CSS for span; Dette er det samme sprite bildet som brukes ovenfor. Høyden og bredden er laget 100% slik at den inntar hele ankerblokken. Bakgrunnen til hver spanke er justert, og til slutt er arbeidet vårt fullført.

Trinn 31

Vær oppmerksom på at det tar tid å få posisjon og bredde tuning riktig; Du kan ende opp med litt forskjellige verdier for disse egenskapene - og det er helt greit!

CSS Sprites Resources

Phew virker som mye arbeid, men gode ting tar tid å bygge opp. Her er noen ekstra ressurser som du kan finne hendig.

  • CSS Tricks har en fantastisk opplæring for nybegynnere.
  • For kjedelig for deg? Her er et plugin som konverterer sprite-bildet til en meny.
  • En MooTools-fan? Sjekk ut denne ryddige opplæringen.
  • cssSprites.com
  • Følg oss på Twitter, eller abonner på Nettuts + RSS-feed for de beste webutviklingsopplæringene på nettet.