Slik forbedrer du Photoshop-arbeidsflyten med CSSHat og PNGHat

Hva du skal skape

Under denne opplæringen skal jeg gå gjennom prosessen med å lage sofistikert webelement styling i Photoshop, men uten å bruke en enkelt bildefil i ditt ferdige nettsted. Når vi er ferdige, har du en enkelt sidelayout med alle brukergrensesnittelementene du ser i forhåndsvisningsbildet ovenfor, ved hjelp av noe annet enn CSS3, Base64-koden og skriftikonene.

Ved å lage et "ingen bilde" -design kan du holde belastningstiden og HTTP-forespørselen telle til et absolutt minimum, samtidig som du oppnår det høyest mulige fleksibilitetsnivået i UI-elementene. Ren kode UI-elementer kan raskt og enkelt tweaked via CSS på måter statiske bilder ikke kan uten å bli manuelt redigert og re-eksportert.

For å få dette til å skje, vil vi ansette fire nøkkelressurser:

  1. CSSHat
    Photoshop plugin laget av Source som genererer CSS3 direkte fra Photoshop-lag.
  2. PNGHat
    Photoshop plugin, også laget av Source, som konverterer et bilde til Base64-koden.
  3. MINDRE
    CSS preprocessor som gjør koding en bazillion ganger lettere *.
  4. FontAwesome
    En populær samling av fontbaserte ikoner.

* Du kan bruke en annen preprosessor hvis du foretrekker det.

Ved å bringe disse elementene sammen, er det mulig å generere en ren kodesignal som er nesten identisk med den opprinnelige PSD:

PSDDet rene kodesultatet (sett i Firefox)

Denne opplæringen vil bli brutt i to deler:

  1. Designet.
  2. Kodegenerering.

Under denne første delen demonstrerer vi hvilke typer teknikker du kan bruke i Photoshop når du oppretter en CSS3 og Base64-vennlig design. Selv om vi kan oppnå mye med ren kode i disse dager, kan vi ennå ikke oversette alt du kan finne i Photoshop. Så det er viktig å ha "dos" og "don'ts" i tankene når du setter ut.

La oss komme i gang med en kort oversikt over CSSHat og PNGHat, Photoshop-pluginene vi skal bruke til å generere vår CSS3- og Base64-kode.

Intro til CSSHat & PNGHat

CSSHat

Med CSSHat-pluginet installert, kan du klikke på hvilket som helst lag i Photoshop-dokumentet, og vinduet CSSHat vil øyeblikkelig vise produksjonsklar kode for deg.

CSSHat tolker hovedsakelig fra lagstilstilinnstillingene dine, så du bør sikte på å legge til gradienter og grenser via lagstiler i stedet for noen av Photoshops alternative metoder.

Photoshop-egenskaper som CSSHat kan tolke:

  • Gradient / Solid fargefyllingslag
  • Gradient overlegg
  • Drop skygge
  • Tekstlag
  • Indre skygge
  • Indre glød
  • Ytre glød
  • Fargeoverlegg
  • Stroke
  • Borderradius
  • opacity

Kode som CSSHat kan sende ut

  • Standarden-kompatibel CSS3 inkludert gradienter, drop shadows, tekstskygger osv.
  • Leverandørens prefiks (valgfritt)
  • Bredde og høyde i px (valgfri)
  • Font egenskaper: font-familyskriftstørrelsefont-weight (fet / normal)fontstil
  • Mindre med LESSHat mixins
  • Sass / SCSS med kompass mixins
  • Stylus med Nib mixins
  • SVG-gradienter for IE9
  • Pak inn i klassen oppkalt etter Photoshop-laget (valgfritt)
  • CSS sirkler
  • Både bokseskygger og tekstskygger

Ting CSSHat kan ikke fungere med:

  • Blandemodi som multiplikasjon og overlegg - still inn blandemodus for dropshadows og så videre til normalt.
  • Mønsteroverlegg - vi håndterer bakgrunnsbildegenerering med PNGHat i stedet.
  • Separate grenseegenskaper per side - på grunn av det faktum, Photoshop kan bare sette alle sider av en kant jevnt.
  • CSS trekanter
  • Numeriske skriftvektinnstillinger som 100, 700 osv.

PNGHat

PNGHat kan gjøre mange ting. Sjekk ut hvordan du eksporterer Photoshop-eiendeler på nettet med PNGHat for en fullstendig nedlasting på plugin.

I tilfelle av denne opplæringen bruker vi den til å generere Base64-kode som vil danne bakgrunnsbildet til designet. Du vil se hvordan dette fungerer i praksis kort tid.

Når et bilde konverteres til Base64, får du en tekststreng som deretter kan innlemmes direkte inn i CSS. Jo flere data er i bildet, jo lengre strengen, derfor er Base64 best egnet til enkle fliser med få farger.

Starter

For å få ballen til å rulle trenger du noen ting. 

Photoshop plugins

Til å begynne med, bør du ha CSSHat- og PNGHat-pluginene installert. 

Hvis du ikke klarer å kjøpe en kopi av CSSHat, kan du fortsatt følge med og bruke Photoshop i innebygd "Copy CSS" -funksjonalitet, som kan velges fra kontekstmenyen etter å ha høyreklikket et hvilket som helst lag. 

Men i dette tilfellet må du manuelt fjerne uønsket standardkode for ting som absolutt posisjonering, z-indeks, dimensjoner og klassenavn. Den håndterer ikke generering av flere skygger og gradienter, så vel som CSSHat, og den kan ikke produsere mindre, Sass / SCSS eller Stylus klar kode.

Hvis du ikke kan kjøpe PNGHat, kan du manuelt eksportere bakgrunnsbildet ditt og sette det gjennom en online-omformer, for eksempel: http://webcodertools.com/imagetobase64converter

Jeg anbefaler også et tredje plugin fra Source som heter Subtle Patterns. Denne plugin-tillegget legger til et bibliotek med hundrevis av mønstre til Photoshop, som hver kan brukes umiddelbart som et mønsteroverlegg til et hvilket som helst lag.

Som et alternativ til å bruke pluginet Subtle Patterns, kan du bare bla gjennom mønstrene og laste dem ned gratis.

Merk: Jeg vet hva du kanskje lurer på - Det er mange ting ved Source, er dette et sponset innlegg? Nei. Sannheten er at jeg kjøpte Kildes hele produktsortiment lenge før jeg begynte å skrive for Tuts +, og jeg elsker hver og en av dem på grunn av det rene antallet timer de har lagt tilbake til dagen min. Jeg anbefaler disse pluginene fordi jeg har vært så imponert over min egen erfaring med hele pakken.

Font Awesome & Roboto

Vi legger noen ikoner inn i designet ditt via Font Awesome, så du må gå og laste ned skrifttypen og installere den på systemet ditt.

Skrifttypen til valg for vår vanlige tekst vil være Roboto, så du må installere det også. Du kan hente den fra Google Webfonts.

Ny PSD og bakgrunnsbilde

Opprett et nytt Photoshop-dokument på en størrelse på 1600 piksler x 2180px. Dobbeltklikk på standard "Bakgrunn" -lag for å låse opp det, og lagre deretter PSD-en.

I Subtile Patterns vindu, (eller nettsted), søk etter satengvev. Når du finner det, med din Bakgrunn lag valgt, klikk på tegningens tegning for å automatisk bruke det som et mønsteroverlegg.

Du bør nå se noen subtile gråtoner vertikale linjer på lerretet ditt. Vi har valgt dette mønsteret som en god passform for konvertering til Base64 fordi den bruker svært få farger og bare 24px med 12px i størrelse, noe som betyr at den vil produsere en relativt liten kode streng.

Legg til Top Trim

For å hjelpe rammen av siden, opprett et rektangel øverst på lerretet, kjør full bredde og 8 piksler i høyde. Gi det disse egenskapene:

Fyll farge: #dddddd

opacity: 50%

Lagstil> Innerskygge:

  • Blandingsmodus: Normal
  • Farge: # c8c8c8
  • opacity: 100%
  • Angle: -90
  • Avstand: 2
  • Størrelse: 4

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # ffffff
  • opacity: 100%
  • Angle: 90
  • Avstand: 2
  • Størrelse: 1

Din "topp trim" bør se slik ut:

Opprett menyen

Gjennom å lage denne menyen får vi se noen av effektene som kan opprettes med gradienter, skygger og slag. Vi skal ha en skikkelig hevet meny som sitter i en innpakning.

1. Meny Wrapper

Til å begynne med vil vi lage innpakningspakken som holder menyen. Lag et midtlinjert, avrundet hjørne rektangel på lerretet ditt på 1200px bred ved 61px høy. Angi følgende egenskaper:

Fyll farge: # f9f9f9 - Legg merke til at selv om det vil være en gradient på dette rektangelet, vil vi fremdeles stille en fyllfarge som en tilbakebetaling.

Egenskaper> Egenskaper for levende form> Hjørneradius: 12px

Lagstil> Innerskygge:

  • Blandingsmodus: Normal
  • Farge: # 000000
  • opacity: 15%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 10

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: # ffffff
  • Farge> Plassering, 100%: # f3f3f3
  • Stil: lineær

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # ffffff
  • opacity: 100%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 2

Menypakken din skal nå se ut som:

2. Menybakgrunn

Opprett et andre avrundet hjørne rektangel over menyomslaget ditt, på 1190px bred ved 50 piksler høyt, med sitt øverste venstre hjørne 5px ytterligere til høyre og ned enn menybryterens øverste venstre hjørne. Legg til disse egenskapene:

Fyll farge: # ffffff

Egenskaper> Egenskaper for levende form> Hjørneradius: 10px

Lagstil> Stroke:

  • Størrelse: 1
  • Stilling: utenfor
  • Farge: # e4e4e4

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: # e5e5e5
  • Farge> Plassering, 100%: # ffffff
  • Stil: lineær

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # c1c1c1
  • opacity: 100%
  • Angle: 90
  • Avstand: 3
  • Størrelse: 4

Du bør nå ha:

3. Legg til menyelementer

Lag et annet rektangel, denne gangen på 130px bred ved 51px høyt, rett over toppen av "menybakgrunn" -linjen. Gi den denne overgangen på overgangen:

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: #efefef
  • Farge> Plassering, 25%: # e4e4e4
  • Farge> Plassering, 100%: #fcfcfc
  • Stil: lineær

Legg nå litt plassholdertekst: skriv inn ordet "Side" og plasser det over midten av menyelementene dine med følgende innstillinger:

Tegn> skrift: Roboto, Regular

Tegn> Skriftstørrelse: 18px

Karakter> Farge: # 5c5c5c

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # ffffff
  • opacity: 100%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 0

Menyelementet ditt bør se slik ut:

4. Lag "Gjeldende" menyelementstil

Gjør et duplikat av menyelementet rektangel og tekst, og flytt det til høyre slik at det sitter like ved siden av originalen. Rediger teksten for å lese "Current".

Sett rektangulens lagstilte egenskaper til:

Lagstil> Stroke:

  • Størrelse: 1
  • Stilling: utenfor
  • Farge: # e62d4ee4e4e4

Lagstil> Innerskygge:

  • Blandingsmodus: Normal
  • Farge: # faabb9
  • opacity: 60%
  • Angle: 90
  • Avstand: 3
  • Størrelse: 5

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: # ef3d5d
  • Farge> Plassering, 25%: # dc2345
  • Farge> Plassering, 100%: # fc6c86
  • Stil: lineær

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # cc2241
  • opacity: 100%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 0

Endre deretter tekstfargen og slipp skyggeinnstillingene til:

Karakter> Farge: # ffffff

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # b50020
  • opacity: 100%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 0

Når du er ferdig med det ovennevnte, gjør du noen flere duplikater av det opprinnelige "menyelementet" og plasser dem til høyre for "nåværende menyelement". Vi gjør dette for å se hvordan menyelementene stiler ser ut når de sitter flush mot hverandre for å sikre at det er tilstrekkelig visuell adskillelse fra ett element til det neste. 

Dessverre har Photoshop ingen måte å sette inn noe som "border-left", så vi kan ikke angi venstre eller høyre grenser direkte på menyelementene rektangler. Imidlertid må vi likevel simulere effekten slik at vi kan skape separasjon mellom hvert element. Bruk Photoshops linjeværktøy til å tegne noen 1px brede vertikale linjer mellom menyelementene, og angi fyllfarge til #dddddd

Med alle disse elementene på plass bør du ha:

Legg til hovedteksten

Hvis du brukte dette oppsettet for en klient, er dette området du vil legge til hovedkrok eller ring til handling. I forbindelse med denne opplæringen legger du til følgende fire linjer, alle sentrert på siden:

  • Visste du at du kan
  • Har din Photoshop
  • OG DIN
  • Ren kode også?

Gi de første og tredje linjene følgende innstillinger:

Tegn> skrift: Roboto, Tynn

Tegn> Skriftstørrelse: 48px

Karakter> Farge: # 6b6b6b

Gi deretter den andre og fjerde linjen disse innstillingene:

Tegn> skrift: Roboto, fet

Tegn> Skriftstørrelse: 80px

Karakter> Farge: # ef3d5d

Teksten din skal nå se slik ut:

Legg til informasjonspanelet

1. Lag panelets bakgrunn

Under hovedteksten, opprett et avrundet hjørne rektangel 1200px bred ved 665px høy. Gi det disse innstillingene:

Fyll farge: # ffffff

Egenskaper> Egenskaper for levende form> Hjørneradius: 15px

Lagstil> Stroke:

  • Størrelse: 1
  • Stilling: innsiden
  • Farge: # d8d8d8

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # c1c1c1
  • opacity: 27%
  • Angle: 90
  • Avstand: 3
  • Størrelse: 4

2. Lag panelhovedbakgrunnen

Deretter, 60px Under toppen av panelets bakgrunn, opprett et annet avrundet hjørne rektangel. Det bør være 1230px bred og 70 piksler høy. Senter den på lerretet slik at det stikker ut av 15px hver side av panelets bakgrunn. Gi det disse egenskapene:

Fyll farge: # ef3d5d

Egenskaper> Egenskaper for levende form> Hjørneradius: 10px

Lagstil> Innerskygge:

  • Blandingsmodus: Normal
  • Farge: # de2a4a
  • opacity: 60%
  • Angle: 90
  • Avstand: 0
  • Størrelse: 5

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: # ef2c4f
  • Farge> Plassering, 10%: # dc2345
  • Farge> Plassering, 100%: # fc6c86
  • Stil: lineær

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # cc2241
  • opacity: 100%
  • Angle: 90
  • Avstand: 3
  • Størrelse: 0

3. Lag panelhovedbakgrunnens andre skygge

Vi har allerede en dråpeskygge satt på rektangelet vi nettopp har opprettet, noe som vil gi den en subtil 3D-effekt. Men vi vil også ha en ny dråpe skygge som vil se ut som en faktisk skygge av en downlight. Fordi vi allerede har "brukt opp" dropshadowegenskapen til det eksisterende rektangelet, må vi opprette et andre rektangel for å bruke en ny skygge til.

Dupliser panelets bakgrunnsrektangel og dra den under originalen i lagpanelet, og fjern deretter den eksisterende lagestilen. Navngi det "panelheadershadow" slik at du kan fortelle de to lagene enkelt fra hverandre. Gi det disse drop shadow-innstillingene:

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # 000000
  • opacity: 27%
  • Angle: 90
  • Avstand: 5
  • Størrelse: 3

4. Opprett panelhovedteksten

Rett over midten av paneloverskriften skrives ut "I DENNE TUTORIALEN:" og gi teksten disse innstillingene:

Tegn> skrift: Roboto, Regular

Tegn> Skriftstørrelse: 24px

Karakter> Farge: # ffffff

Lagstil> Drop Shadow:

  • Blandingsmodus: Normal
  • Farge: # b50020
  • opacity: 100%
  • Angle: 90
  • Avstand: 1
  • Størrelse: 0

5. Opprett panelteksten

Til slutt legg til disse linjene med tekst:

  • Lær hvordan du designer i Photoshop og utdata
    standard klar CSS3 + Base64-kode. 
    Det betyr ingen bilder og minimal HTTP
    forespørsler om ultra effektiv lasting.
  • CSSHat + PNGHat + LESS + FontAwesome

Sett den første teksten til:

Tegn> skrift: Roboto, Tynn

Tegn> Skriftstørrelse: 36px

Karakter> Farge: # 6b6b6b

Og den andre teksten til:

Tegn> skrift: Roboto, Svart

Tegn> Skriftstørrelse: 48px

Karakter> Farge: # 6b6b6b

Marker deretter hvert av symbolene "+" og sett fargen deres til: # ef3d5d

Du bør nå ha et informasjonspanel som ser slik ut:

Legg til Big Down Arrow

Det er her vi begynner å bruke Font Awesome. Vi skal plassere "fa-down-arrow" -ikonet og bruke det i stedet for et bilde. 

Den enkleste måten å gjøre dette på er å få riktig "brev" i cachen din ved å gå til Font Awesome cheatsheet. Finn "fa-down-arrow" -ikonet, merk deretter den lille forhåndsvisningen, og trykk på CTRL / CMD + C

Fremhev og kopier den lille pil nedover

Gå tilbake til lerretet ditt, plasser en markør med tekstverktøyet og lim inn det tegnet du nettopp kopierte. Først ser du bare et morsomt lite rektangel med et kryss i det, så endre innstillingene dine til dette:

Tegn> skrift: FontAwesome

Tegn> Skriftstørrelse: 200px

Karakter> Farge: # 6b6b6b

Kontroller at pilen er sentrert på lerretet, og sett lagets opasitet til 30%. Du burde nå ha denne kule utseende pilen:

Legg til "Start" -knappen

1. Knapp bakgrunn og andre skygge

Opprett et nytt avrundet hjørne rektangel, 420 piksler bred ved 105px høy. Knappen vil bruke nøyaktig samme lag stil egenskaper som "Panel header bakgrunn", slik at du kan bare kopiere over disse lag stiler. Høyreklikk laget på panelhovedbakgrunnen og velg "Kopier lagstil", høyreklikk deretter det nye knappelaget og velg "Lim inn lagstil".

Som vi gjorde med panelhovedbakgrunnen, ønsker vi å lage et andre rektangel for denne knappen som kan ha en andre dråpeskygge brukt på den. Dupliser ditt knappelag og dra den under originalen i lagpaletten din, og endre den på nytt "knappen skygge". Kopier lagstilen fra "panelheadershadow" -laget du opprettet tidligere, og lim det inn på den nye "knappen" -skyggen" lag.

2. Knapp sirkel og høyre pil

Vi skal legge til en liten sirkel til knappen som vil se ut som en liten depresjon, og vi vil da sette en høyre pekende hvit pil på toppen av det.

Opprett en sirkel (ellipse) over knappen på 47px av 47px. Plasser den slik at den er lik avstand fra topp-, venstre og nedre kantene på knappens bakgrunn, og gi den denne overgangen på overgangen:

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 0%: # f04f6c
  • Farge> Plassering, 100%: # e32d4f
  • Stil: lineær

For å lage den høyre pekepilen skal vi igjen bruke FontAwesome. Gå tilbake til cheatsheet og denne gangen kopierer du fa-caret høyre ikon. På lerretet ditt, bruk tekstverktøyet til å plassere en markør over sirkelen du nettopp har opprettet og lim inn i ikonet / tegn for Font Awesome. Gi det disse egenskapene:

Tegn> skrift: FontAwesome

Tegn> Skriftstørrelse: 36px

Karakter> Farge: # ffffff

Plasser den nyopprettede hvite pilen i midten av sirkelen den sitter over.

3. Opprett knappeteksten

Over toppen av knappen, til høyre for sirkelen og pilen, skriver du «Start opplæringen» og gir teksten disse innstillingene:

Tegn> skrift: Roboto, Regular

Tegn> Skriftstørrelse: 36px

Karakter> Farge: # ffffff

Denne teksten bruker samme fargeskygge som «Panel headtekst», slik at du kan kopiere stilen fra teksten og lime den inn på dette laget.

Du burde nå ha en knapp som ser slik ut:

Legg til bunnen Trim

Vi kommer nå til å legge til det endelige elementet i designet, noe trim på bunnen for å fullføre innramming av plassen. Når dette elementet er kodet opp, bruker vi separate topp- og bunngrenseinnstillinger, men da Photoshop ikke kan lette dette, bruker vi igjen formverktøy i stedet for at vi kan få de riktige farger på plass.

Under startknappen, lag et rektangel med en fyllfarge på #dddddd det er 5px høy og strekker hele bredden på siden. Dupliser det nye rektangelet og flytt det ned 10px så det er en 5px gap mellom de to rektanglene.

I midten av lerretet og over de to grå linjene / rektanglene tegner du en sirkel som er 40px av 40px og gi den disse egenskapene:

Fyll farge: # f2f2f2

Lagstil> Stroke:

  • Størrelse: 5
  • Stilling: innsiden
  • Farge: #dddddd

Lagstil> Gradientoverlegg:

  • Farge> Plassering, 40%: #dddddd
  • Farge> Plassering, 45%: # f2f2f2
  • Stil: radial

Vær spesielt oppmerksom på innstillingene for gradientoverlegg, da de er forskjellige fra de som vi tidligere har brukt. Fargen stopper er plassert på 40% og 45% i stedet for 0% og 100%, og vi bruker en radial gradient i stedet for lineær. Sammen med grensen / slaget gir dette effekten av en liten grå sirkel omgitt av en større.

Din nederste trim skal se slik ut:


Ferdig!

Du bør nå ha en ferdig PSD-design, 100% klar for oversettelse til ren CSS3 og Base64-kode:

Kommer opp

I følgende del av denne opplæringen:

  1. Du vil sette opp HTML-en for designen din.
  2. Du vil også sette opp et enkelt, autocompiling LESS prosjekt (uten kommandolinje) ved hjelp av gratis Windows & Mac app Prepros.
  3. Vi vil inkludere LESSHat og Normalize.less
  4. så også Font Awesome via FontAwesome.less.
  5. Du konverterer bakgrunnsbilde til Base64 og inkorporerer det i LESS-koden din.
  6. Deretter konverterer du alle designelementene til CSS3 og legger dem til LESS-koden din.
  7. Til slutt vil du kunne lene deg tilbake i stolen og føle deg veldig imponert over deg selv

Jeg ser deg da!