Styling Vår Ghost Theme med mindre

Velkommen til den fjerde delen av vår Ghost Theme Design Tutorial Series. I introduksjonsveiledningen lærte du at det er to faser for å designe et tema. I løpet av delene har vi begynt og fullført det vi har referert til som "den første fasen" for å lage temaets maler. Denne fjerde delen av serien tar oss inn i neste fase av tema design, nemlig styling.

I denne delen begynner vi å style vår typografi og bygge våre layout kontroller. I den kommende delen fortsetter vi stylingen ved å blokkere ut fargeskjemaet, og legge grunnlaget for temaresponsivitet.

Merk: Denne opplæringen tar utgangspunkt i et grunnleggende arbeidskunnskap om CSS.


Agnostisk Responsive Design

Denne opplæringen tar deg gjennom en tilnærming til responsiv design som du kanskje ikke er kjent med. Tilnærmingen sikrer at designene vil reagere på mer enn bare spesifikt målrettede vanlige enhetsoppløsninger.

I stedet vil designene:

  • Vis optimalt på noen oppløsning og dermed i hvilken som helst enhet.
  • Skala proporsjonalt sammen med en hvilken som helst basestørrelsesstørrelse satt av enten selve nettleseren eller brukeren.

Dette gjøres av:

  • Innstill aldri en grunn skrifttype, men la nettleseren / leverandøren eller brukeren bestemme den mest lesbare størrelsen for tekst.
  • Bruk alltid em eller rem verdier, som er fleksible, og ikke pikselverdier, som er ufleksible, gjennom hele designen.
  • Bruk av medieforespørsler, ikke å oppdage bestemte enheter, men snarere som et middel for å oppdage når elementene i designet er for store for ledig plass slik at de kan justeres.

Anbefalt lesing

  • Tar "Erm ..." Ut av Ems
  • The Goldilocks Approach
  • Hvordan lærte vi å forlate standard skriftstørrelse alene og omfavne em

Legg til overskriftstestingstestinnhold

Før vi begynner på styling, skal vi legge til noe overskriftstestinnhold på Ghost-nettstedet ditt, slik at du kan se hvordan H1 til H6-kodene dine vises.

Du bør legge til hver overskrift størrelse en linje under den andre for å se hvordan de fungerer når de plasseres tett sammen, og legg deretter også til hver overskrift med en linje med vanlig tekst i mellom for å se hvordan de ser i strømmen av normalt innhold.

Legg til følgende markering øverst i ditt nyeste Ghost-innlegg, (du må kanskje legge til tomme linjer mellom hver linje), og deretter oppdatere den:

 Du er med! Hyggelig. Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. Gå videre og rediger dette innlegget for å komme og lære hvordan alt fungerer! #Heading 1 ## Overskrift 2 ### Overskrift 3 #### Overskrift 4 ##### Overskrift 5 ###### Overskrift 6 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og få du startet. #Heading 1 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. ## Overskrift 2 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. ### Overskrift 3 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. #### Overskrift 4 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. ##### Overskrift 5 Vi har satt sammen et lite innlegg for å introdusere deg til Ghost-redaktøren og komme i gang. ###### Overskrift 6

Installer og konfigurer "GhostThemingPackage"

For å hjelpe deg med å bruke den mest effektive arbeidsflyten med Ghost-temaopprettelsen, har jeg satt sammen en liten utviklingspakke for deg som gir deg tilgang til noen virkelig nyttige verktøy og automatiserer en rekke oppgaver for deg. Den er tilgjengelig i hovedkilden nedlasting.

I stedet for koding i rå CSS bruker vi mindre. Hvis du er ny til MINDRE, kan du lese alt om det på http://lesscss.org/

GhostThemingPackage håndterer kompilering av LESS kode, samt minifiserer CSS og skriver det inn i temamappen din.

Den vil også laste ned og gjøre tilgjengelige "LESSHat" -biblioteket av mixins, en fantastisk gratis ressurs som gjør produksjonen av kryss-nettleser CSS3 raskt og enkelt: http://lesshat.com/

I tillegg vil det laste ned "normalize.css", "Modernizr", pluss noe responsivt iframe javascript for deg, og kombinere, redusere og skrive alt inn i temaet ditt.

Normalize.css standardiserer grunnleggende visningselementer i alle nettlesere. Les mer om det på http://necolas.github.io/normalize.css/

Modernizr gjør det mulig for eldre nettlesere å gi mening om moderne oppslag. Les mer om det på http://modernizr.com/

Krav

Du trenger bare tre ting installert for å kunne bruke GhostThemingPackage:

  1. node.js
  2. Grunt.js
  3. Bower.io

Du har allerede Node.js installert som du har brukt den til å kjøre Ghost, men du må kanskje installere Grunt og Bower hvis du ikke har dem på systemet ditt ennå..

Installer Grunt

Grunt.js er en javascript-oppgaveløper som vi skal bruke til å automatisere LESS compiling, og CSS kombinasjon og minifisering. Hvis du ikke har Grunt på systemet, kan du installere det veldig enkelt via NPM (nodepakkeadministrator, en del av node.js).

For å installere Grunt via NPM, åpne en terminal (på et hvilket som helst sted) og kjør følgende kommando:

npm installere -g grunt-cli

Pass på at du inkluderer "-g" -flagget som det vil gjøre Grunt tilgjengelig globalt på systemet ditt, dvs. til hvilket sted du jobber i.

Installer Bower

Bower.io er en flott pakkebehandling som gir deg enkel tilgang til alle forskjellige typer webdesign orientert script og CSS pakker. Du kan lese mer om det på http://bower.io/

Som Grunt kan Bower også installeres veldig enkelt via NPM.

Merk: Hvis du ikke allerede har Git installert, må du gjøre det før du installerer bower.

Installasjonsanvisninger for Git finner du her: http://git-scm.com/book/no/Getting-Started-Installing-Git

Viktig: Se instruksjoner nær bunnen av Bowers side om installering av Git på Windows: http://bower.io/#a-note-for-windows-users

For å installere Bower via NPM, åpne en terminal (på et hvilket som helst sted) og kjør følgende kommando:

npm installer -g bower

Igjen, vær sikker på at du inkluderer "-g" -flagget, slik at Bower vil være tilgjengelig for deg hvor som helst på systemet ditt.


Installer "GhostThemingPackage"

Trinn 1:

Etter å ha lastet ned "GhostThemingPackage", trekk den ut et sted som er lett tilgjengelig, ideelt sett inn i samme rotkatalog, din Ghost installasjonsmappe ligger i.

For eksempel, hvis Ghost-installasjonen din er på C: \ Ghost pakke ut pakken til din C: kjør også, så det ender opp på C: \ GhostThemingPackage. (Ikke legg den inn i Ghost-installasjonsmappen din).

Du bør se følgende mappe og filstruktur inni:


Steg 2:

Gi nytt navn til mappen fra "GhostThemingPackage" til "UberThemeStyles".

Trinn 3:

Åpne en terminal i "UberThemeStyles" -mappen.

Trinn 4:

Kjør kommandoen npm installasjon.

Dette henter automatisk de nødvendige Node.js-pakkene som skal brukes til å samle LESS, og kombinere og redusere CSS og JavaScript.

Du ser mange meldinger som dette mens NPM henter alt:


Vent til alle disse meldingene har stoppet og du ser kommandoprompten vises igjen.

Trinn 4:

Kjør kommandoen bower installasjon.

I likhet med det forrige trinnet henter dette de nødvendige pakkene fra Bower.io; LESShat, Modernizer og Normalize.css

Igjen ser du en rekke meldinger som vises i terminalen din: vent til de er ferdige, og ledeteksten vises.

Trinn 5:

Bekreft at du nå ser denne mappestrukturen i mappen "UberThemeStyles":


Legg merke til tilstedeværelsen av de nye mappene "bower_components" og "node_modules".

Hvis noen undermapper mangler fra hver mappe, slett den mappen, og kjør deretter kommandoen på nytt, dvs.. npm installasjon for mappen "node_modules" eller bower installasjon for mappen "bower_components".


Konfigurer "Gruntfile.js"

Trinn 1:

I din foretrukne kodeditor, åpne "Gruntfile.js" fra rotkatalogen i mappen "UberThemeStyles".

Dette er filen som vil lette alle automatiseringsoppgaver under tema styling prosessen. For å få det til å fungere, må vi bare fortelle det hvor du har Ghost installert, og hva navnet på temaet ditt er.

Steg 2:

På linje 62 og 63 finner du følgende:

 'ghost_location': '... / Ghost /', 'ghost_theme_name': 'YourThemeName',

Trinn 3:

Om nødvendig, endre '... / Ghost /' å gjenspeile den relative banen til Ghost-installasjonen.

Du må ikke endre innstillingen hvis "UberThemeStyles" -mappen din er i samme rotmappe som Ghost-installasjonsmappen din, og Ghost-installasjonsmappen din heter faktisk "Ghost".

Trinn 4:

Endre "YourThemeName" til "UberTheme".

Trinn 5:

Lagre filen.

Merk: Din temapakke er nå installert, og du kan gjenta prosessen i fremtiden for å få oppsett for eventuelle andre temaer du lager.


Legg til CSS Basics

Det første vi skal gjøre er å få stilene fra Normalize.css lagt til temaets stilark. Dette sikrer at temaet vårt vises på en standardisert måte over alle nettlesere.

Vi skal da legge inn en foreløpig bredde for innholdet ditt, slik at det er lettere å vurdere typografivalg, og vi legger til grunnleggende typografi stiler.


Legg til Normalize.css

Trinn 1:

I din terminal, (fortsatt i "UberThemeStyles" -mappen), kjør kommandoen grunt cssmin.

Dette vil ta filen "normalize.css" fra mappen "bower_components / normalize-css", komprimere den og skrive den inn i temaets stil.css-fil.

Hvis du lykkes, bør du se dette i din terminal:


Steg 2:

Oppdater din Ghost frontend. Du kan bekrefte at "normalize.css" er lagt til hvis du ser

  • Standardfontefamilien har endret seg til "sans-serif", (det vil si at serifs mangler fra teksten)
  • Innholdet er flush med kantene av vinduet
  • Din bakgrunn er hvit igjen (på grunn av at css fra den siste opplæringen blir overskrevet)

Merk: Når vi går, vil vi gjøre noen tilpasninger til filen normalize.css.

Fordi vi skal skape mange av våre egne stiler, vil vi unngå dupliserte stiler for elementer som kropp og h1 siden det er unødvendig overhead for nettleseren, så transplanterer vi noen stiler fra "normalize.css" til våre egne LESS-filer.


Foreløpige stiler og typografi

Før vi velger skrifter vi skal bruke i vårt tema, skal vi angi en foreløpig bredde for innholdet og legge til noen grunnleggende typografiinnstillinger. Det vil bli mye lettere å prøve og bestemme fonter når de er i en smalere plass og satt til skriftstørrelsen de mest sannsynlig blir brukt på.

For å gjøre dette skal vi begynne å redigere dine MINDER filer.

Før vi begynner å redigere MINDRE, hvis du er ny på det, ta et øyeblikk å gjøre deg kjent med sitt system med:

  • variabler
  • mixins
  • Nested Rules
  • Funksjoner og operasjoner

Du trenger ikke en grundig forståelse på dette punktet, det bør være tilstrekkelig bare for å lese åpningsseksjonen på LESSES hjemmeside, dvs. hver av seksjonene med tilhørende titler til punktliste over.

For å se LESS kode endringer reflektert på forsiden av nettstedet ditt, skal vi aktivere automatisk MINDRE kompilering og skriving av CSS i temaet ditt.

Trinn 1:

I din terminal, (fortsatt i "UberThemeStyles" -mappen, kjør kommandoen grunt ur.

Dette vil starte "watch" -oppgaven, der du vil se dine mindre filer og filen Normalize.css for eventuelle endringer. Når noen endringer i filene blir oppdaget, vil LESS automatisk bli kompilert, og CSS vil bli kombinert, minifisert og skrevet inn i temaets "style.css" -fil.

Merk: Når du vil stoppe "watch" -oppgaven, gå tilbake til terminalen din og trykk CTRL + C. Når du blir bedt om å skrive y og trykk deretter på TAST INN.

Steg 2:

I din foretrukne kodeditor, åpne filen "layout.less" fra "UberThemeStyles> LESS" -mappen.

Trinn 3:

Legg til følgende kode og lagre deretter:

 .wrapper_uber bredde: 100%; maksimal bredde: 40em; margin: 0 auto; 

Denne koden gjør noen ting:

  • Begrenser innholdsbredden fra å være full skjerm, noe som gjør det enklere å vurdere hvordan typografien din ser ut.
  • Centrerer innholdet i vinduet.
  • Etablerer grunnlaget for vår agnostiske respons, som beskrevet i introduksjonen til denne opplæringen:
    1. Vi setter ikke inn bredde eiendom til en eksplisitt verdi. I stedet, bredde er satt til 100%, så det vil fylle hele vinduet i en hvilken som helst enhet med en oppløsning mindre enn 40 meter bred.
    2. Vi bruker max bredde eiendom for å begrense innpakningen til ikke større enn 40ems bred på større oppløsninger.
    3. Vi bruker en em verdi, ikke en px verdi.

Merk: Vi skal justere denne bredden senere for optimal lesbarhet når vi har valgt våre skrifter og dermed vet hvor bredt våre brev kommer til å være. Verdien av 40ems er bare plassholder.

Trinn 4:

Oppdater din forside. Det burde nå ha smalt ned slik:


Trinn 5:

Åpne filen "normalize.css" fra mappen "UberThemeStyles> bower_components> normalize-css" for redigering.

Trinn 6:

Kommentere eller slette kropp, h1 og alt en stiler, (linje 76 til 121), fordi vi skal skrive oss selv og ikke ønsker overhead av duplikatdeklarasjoner.

Trinn 7:

Åpne filen "typography.less" fra "UberThemeStyles> LESS" -mappen for redigering.

Trinn 8:

Erstatt all koden deri med følgende kode og lagre deretter:

 // ** // Mixins // ** .HeaderFont () font-family: @header_font; linjehøyde: 1.313em;  // // // Styles // ** body margin: 0; font-familie: @default_font; linjehøyde: @golden + 0em; // angi vanlig linjehøyde til det gyldne forholdet en bakgrunn: gjennomsiktig;  a: link, a: besøkt  a: fokus disposisjon: tynn prikket;  a: aktiv, a: svever disposisjon: 0;  // Klassisk typografisk skala: Hvis standard 16px total størrelse skal være: // 9px, 10px, 11px, 12px, 16px, 18px, 21px, 24px, 36px, 48px, 60px, 72px h1 .HeaderFont; skriftstørrelse: 3em; margin: 0,563em 0;  h2 .HeaderFont; skriftstørrelse: 2,25em; margin: 0,625em 0;  h3 .HeaderFont; skriftstørrelse: 1.5em; margin: 1.313em 0;  h4 .HeaderFont; skriftstørrelse: 1.313em; margin: 1.313em 0;  h5 .HeaderFont; skriftstørrelse: 1,125em; margin: 1.313em 0;  h6 .HeaderFont; skriftstørrelse: 1em; margin: 0.75em 0; 

Det er ganske mye kode vi har lagt til på en gang der. La meg forklare hva som skjer.

mixins

Det første du ser øverst er mixin .HeaderFont (). Fordi vi skal bruke samme fontfamilie, font-vekt og linjehøyde for alle våre overskriftskoder har vi lagt alle reglene for disse egenskapene i en enkelt mixin. Hvis du ser på stilen for hver overskriftskode, ser du .HeaderFont () mixin ringte inn på første linje.

På denne måten kan vi oppdatere mixin etter behov, og alle overskriftstagsstiler vil automatisk bli oppdatert.

variabler

Du vil også legge merke til bruken av noen variabler i koden, dvs.. @header_font, @default_font og @gylden.

Verdien av hver av disse variablene er satt i filen "variables.less" i "UberThemeStyles> LESS" -mappen. Denne filen blir først åpnet under kompilering av LESS-koden, noe som betyr at variablene den inneholder, kan brukes i noen av dine andre MINDER filer.

Vi bruker variablene @header_font og @default_font å angi navnet på skriftene som skal brukes i hele temaet ditt, slik at det blir veldig enkelt å bytte fra ett valg til et annet mens du prøver fonter ut.

De @gylden variabel representerer en verdi på 1.618, det gyldne forholdet. Dette nummeret har blitt brukt siden tiden til de gamle grekerne til å skape flotte layouter i alt fra kunst til arkitektur, og vi vil bruke det tungt gjennom hele designen.

Legge til enheter til variabler

Det er best praksis i MINDRE å definere numeriske variabler uten vedlagte enheter. Dette er slik at du kan utføre aritmetikk med sine verdier.

For eksempel, med min @gylden variabel satt som 1.618 Jeg kan gjøre ting som å multiplisere den verdien, halvere den og så videre. Men hvis jeg hadde satt den til 1.618em ville jeg løpe i problemer med noen beregninger jeg kanskje vil utføre.

Så det er alltid best å sette variabler som bare tall, og deretter legge til enheter innenfor de aktuelle stilene eller mixins.

Du kan legge til enheter på følgende måte:

@variable + 0em

@variable + 0rem

@variable + 0%

Så i et nøtteskall, bare legg til enheten du vil bruke som om du utførte en tilleggsberegning, med en verdi på null sett på den enheten.

Typografisk skala

Skriftstørrelsene er alle satt til en klassisk typografisk skala, konvertert til em i stedet for px verdien, basert på den vanligste standard skriftstørrelsen er 16px.

Ved å gjøre dette får vi estetisk appell og lesbarhet av skalaen, men hvis en leverandør eller bruker endrer standard skriftstørrelse til noe annet enn 16px, vil hele skalaen skifte proporsjonalt med det.

Overskrift tag margins

Med en standardisert em Basert linjehøyde for alle overskrifter, er det viktig å justere margene for hver slik at overskriftene vil se fint ut og være lesbare når de plasseres under den andre, så vel som når de plasseres i strømmen av vanlig tekst.

Verdiene som brukes i margene er de jeg personlig har funnet å være best for hver overskriftskode. Du får se effekten av disse innstillingene i neste trinn.

Trinn 9:

Oppdater din forside. Det skulle nå se slik ut:



Velge fonter

Vi skal nå velge skrifttyper som skal brukes til topptekst og vanlig tekst. Vi lager resten av temaets layout og design rundt disse skriftvalgene.

I denne tilnærmingen begynner vi ikke med en Photoshop-mockup, men du bør fortsatt ha en viktig ide om hvilken type overordnet stil du vil ha. Jeg går for et mykt, lyst fargevalg, med en flat, men lett strukturert stil, så jeg vil ha relativt myke, lette skrifttyper for å følge med det.

Gå over til Google Fonts og velg en skrift for overskriftene dine, pluss en skrift for din vanlige tekst, og sørg for å sjekke hvordan de ser på noen forskjellige størrelser og, hvis tilgjengelige, vekt: http://www.google.com/ fonter /

Jeg endte med å velge Oxygen for headertekst og Open Sans for den vanlige teksten.

Når fonter er valgt, kan du legge dem inn i temaet ditt.

Trinn 1:

Åpne filen "default.hbs" fra rotmappen til temaet ditt.

Steg 2:

Under ! Stiler kommentere og over lenken til stilarket ditt, legg til følgende linje og lagre:

 

Merk: Slik oppretter du en nettadresse for alle Google-skrifttyper:

  • Bruk formatet: http://fonts.googleapis.com/css?family=Font+Name
  • Rom i skriftnavn skal erstattes med + tegn
  • For å bruke flere skrifter, skilt skiltnavn med | symbol
  • Angi vektene og stilene du vil bruke ved å plassere en : på slutten av skrifttypenavnet, etterfulgt av kommaseparerte verdier, f.eks. : 300,400,700,300italic, 400italic, 700italic

Trinn 3:

Åpne filen "variables.less" fra "UberThemeStyles> LESS" -mappen for redigering.

Trinn 4:

Finn disse to linjene:

 @default_font: Arial, Helvetica, sans-serif; @header_font: Arial, Helvetica, sans-serif;

Trinn 5:

Rediger dem for å lese:

 @default_font: 'Open Sans', Arial, Helvetica, sans-serif; @header_font: 'Oxygen', Arial, Helvetica, sans-serif;

Trinn 6:

I filen "typography.less" legger du til en font-vekt av 400 til din .HeaderFont () mixin:

 .HeaderFont () font-family: @header_font; linjehøyde: 1.313em; font-weight: 400; 

Trinn 7:

Også i filen "typography.less", legg til en font-vekt av 300 til din kropp stil:

 kropp margin: 0; font-familie: @default_font; linjehøyde: @golden + 0em; // angi vanlig linjehøyde til den gyldne ratioens skrifttype: 300; 

Merk: Disse var vekter jeg følte så best ut for disse spesielle skrifttyper, og for den lette stilen jeg skal til.

Trinn 8:

Oppdater din forside. Du bør nå se skriftvalgene dine på plass:



Nestemann

Før vi går til den siste delen av vår opplæringsserie, har vi en eller to stylingdetaljer for å ta vare på. I neste avlevering ser vi på farge og definerer noen grunnleggende standardinnstillinger for layout.