Denne veiledningen vil introdusere deg til Pure, et CSS-bibliotek laget av små moduler, som kan hjelpe deg med å skrive helt responsive layouter, på en veldig rask og enkel måte. Underveis vil jeg veilede deg gjennom etableringen av en enkel side for å markere hvordan du kan bruke noen av bibliotekets komponenter.
Hvorfor Opprett Responsive Layouts?
I løpet av de siste årene i webutvikling, tre Ord som hopper rundt, igjen og igjen, er: Responsive Web Design (RWD). På dette tidspunktet bør du allerede vite hva det er, men bare hvis du savner det, er det noen ressurser for å fylle ut hullene:
Artikler på WebDesign Tuts+
Kurs på Tuts + Premium
Responsive Web Design av Ethan Marcotte
Men spørsmålet er: Hvorfor gå responsivt? Svaret er at vi ikke har noen kontroll over hvilken oppløsning den neste enheten skal bruke når de besøker nettstedet vårt. Ikke lenger kan vi bare vise setninger som, "Best viewed at 1024x768 resolution" (selv om du fortsatt kan finne dem på nettet). En av hovedårsakene til dette fenomenet var fra veksten i bredden på PC-skjermer og også fra spredningen av mobile enheter som er koblet til Internett. I tillegg, basert på StatCounter, er for tiden ~ 16% av brukerne koblet til via en mobil enhet. Nå sier jeg ikke det RWD handler bare om å optimalisere et nettsted for en gitt skjermstørrelse, det jeg mener er at vi skaper en god opplevelse for brukere som besøker nettstedet vårt, uansett hvilke enheter de bruker.
Med det sagt er det også klart at ikke alle av oss jobber for et selskap der hver person har en enkelt rolle (designer, utvikler, tester osv.). Så, la oss si at du er en solo-utvikler, jobber som freelancer og du vet ikke mye om webdesign. Det finnes mange biblioteker som kan øke hastigheten på arbeidsflyten din. De mest komplette er sikkert Boostrap og Foundation, men noen ganger kan de være overkill og du må kanskje ha noe mindre. I disse tilfellene er et nytt interessant prosjekt lansert av Yahoo som vi kan bruke, kalt Pure.
Hva er rent?
Siterer den rene nettsiden, er det et sett med små, responsive CSS moduler som du kan bruke i hvert webprosjekt. Som sagt tidligere, er det komplette biblioteket veldig lett, bare 4,2 kB minifisert og gzipped, men for å holde nettstedet ditt enda lettere, kan du bare inkludere noen av de tilgjengelige modulene. I utgangspunktet består den av følgende moduler:
Utgangspunkt
Nett
skjemaer
knapper
tabeller
menyer
En av de tingene jeg virkelig setter pris på, er at den er basert på Normalize.css, et velkjent bibliotek som gjør elementene mer konsekvente og i tråd med moderne standarder og fungerer også i eldre nettlesere. Siden det er veldig lite, gir det ikke en komplett løsning på alle dine problemer, men den har flere forhåndsbygde vanlige UI-elementer som du finner i mange nettsteder på nettet. En annen interessant egenskap ved Pure er at den er svært utvidbar og tilpassbar. Forfatterne brukte SMACSS til å bygge den og alle sine klasser begynner med ren-, slik at du enkelt kan gjenkjenne dem.
Selv om Pure er et interessant prosjekt å se på, husk at det er veldig nytt og kanskje ikke passer bra for store prosjekter. Faktisk har den nåværende versjonen (0.2.0 på tidspunktet for denne skrivingen) flere problemer som du sannsynligvis ikke ville finne i mer modne rammer, og dokumentasjonen kunne også forbedres. Likevel likte jeg det og var en forløper, du har fordelen av å studere og lære Pure, fra starten, som kan ende med å bli det neste kjente prosjektet på nettet.
La oss se ren i handling
De sier at et bilde er verdt tusen ord. For oss, som utviklere og designere, er en demo vi kan leke med, enda bedre. Så, for å se hva Pure kan gjøre for oss, la oss lage en grunnleggende demo-app. Vår demo vil bestå av en enkel hjemmeside som inneholder litt informasjon om meg selv (noen ganger skaper fantasien meg). Bildet under viser hvordan sluttresultatet skal se ut på en stor skjerm:
Og følgende bilde, i stedet, viser deg hvordan det ser ut på en smarttelefon:
Trinn 1: Lag horisontalmenyen
Som sagt, har Pure flere prebuilt felles elementer som du finner i mange nettsteder på nettet. En horisontal meny er sikkert en av dem og vil gi oss sjansen til å se på noen av klassene i menymodulen.
For å opprette dette ved hjelp av HTML5, har vi vanligvis en element innpakning en uordnet liste som inneholder de viktigste koblingene på nettstedet vårt. Når listen er opprettet, må vi vise den horisontalt. For å oppnå dette må vi legge inn tre klasser til listen wrapper (): .ren-menyen, .ren-menu-open, og .ren-menu-horisontal. Første klasse gjelder regler som er felles for alle menyer i Pure. De .ren-menu-open Klassen brukes til å vise (i stedet for å gjemme) listepostene, mens .ren-menu-horisontal Klassen er den som er ansvarlig for å vise listepostene på samme linje. Vær oppmerksom på at menyen som standard ikke er sentrert.
Nå, for å forbedre brukergrensesnittet, bør vi markere listen elementet som lenker til den nåværende siden. Dette gjøres ved å bruke .ren-menyen valgt klasse til element du vil markere. Ved å gjøre det, vil fargen på teksten bli fra grått til svart.
Den komplette koden til menyen vår er vist nedenfor:
Trinn 2: Forfatterbeskrivelsen
Etter menyen kan du se at vi har en ideell "rad" som inneholder på venstre side, et bilde og på høyre side, en liten beskrivelse av meg. Denne "raden" er faktisk en responsivt rutenett laget av to grid-enheter, hvor den første bryter bildet og opptar 25% av sin plass, mens den andre bryter inn beskrivelsen og opptar de resterende 75%, så lenge skjermbredden er større enn 767px. Tvert imot, hvis skjermens bredde er lik eller mindre, blir gridene stablet og opptar 100% av bredden som er tilgjengelig. Vær oppmerksom på at enhetene har en bredde på 100%, så hvis elementene i dem er mindre i bredden, vil de bare innta en del av enheten. For å se hvordan dette virker, prøv å endre størrelsen på vinduet og legg merke til hvordan bildet ikke bruker 100% av bredden, samtidig som nettverksenhetene stables.
Som nevnt tidligere har Pure en bestemt modul for styring av nett. For å erklære et responsivt rutenett, må du søke på containeren en klasse som kalles .ren-g-r. Rutenettene deler i stedet et lignende navn, .ren-u - * - *, hvor den siste delen av klassen angir hvor mye plass den oppgitte enheten vil ta opp. For eksempel, hvis du søker på et element i .ren-u-1-4 klassen, vil den reservere 25% av den tilgjengelige bredden, som jeg gjorde for bildet. Et annet eksempel kan være .ren-u-2-3 som gjør at enheten kan ta opp 66,6% av rutenettet.
Dette rutenettet er veldig interessant fordi det kan spare deg mye tid hvis du ikke vet hvordan du skal håndtere flyte, klar, og andre regler for å lage oppsett. I tillegg vil de redde deg fra all smerte i å administrere den responsive siden av oppsettet.
Med det sagt, koden som implementerer det første rutenettet, skal se slik ut:
Aurelio De Rosa
Jeg er en italiensk web- og apputvikler som har en bachelorgrad i datavitenskap og mer enn 5 års erfaring med programmering for Internett ved hjelp av HTML5, CSS3, JavaScript og PHP. Jeg bruker hovedsakelig LAMPE Stabel og rammer som jQuery, jQuery Mobile og Cordova (PhoneGap). Mine interesser inkluderer også websikkerhet, web tilgjengelighet, SEO og WordPress.
For tiden er jeg selvstendig næringsdrivende og arbeider med de nevnte teknologiene. Jeg er også en vanlig blogger for flere nettverk (SitePoint, Tuts + og FlippinAwesome) der jeg skriver artikler om emnene jeg vanligvis jobber med og mer.
Trinn 3: Informasjonsnettverket
Det andre og siste rutenettet er delt inn i tre like deler. Jeg opprettet dem for å vise deg andre komponenter i biblioteket, slik at du kan få en god oversikt over dem. Faktisk har den første enheten et bord, den andre har et skjema, og den tredje har en vertikal meny.
Koden nedenfor viser hvordan du kan dele nettet i tre deler:
Nå, la oss undersøke hver enhet av dette responsive nettet.
Trinn 4: En responsiv tabell
En annen av de tilgjengelige modulene i Pure, er Tabeller. Som navnet sier, inneholder det regler for å style a
element og dets barn. Som standard vil tabellene ha en vertikal kantlinje som brukes for å visuelt adskille kolonner. Du kan imidlertid også legge til en horisontal grense ved å bruke .ren-tabell-grenset klasse eller vis bare sistnevnte ved å bruke .ren-tabell-horisontal klasse til
element. I tillegg kan du også lage stripede tabeller for å hjelpe brukeren til å lese dataene. For å oppnå dette har du to muligheter. Den første vil fungere på nettlesere som støtter NTH-barn og består av å bruke .ren-tabell-stripet klassenavn til
element. Den andre, i stedet, fungerer i alle nettlesere, inkludert Internet Explorer 8 og lavere, men det er mer verbose. Den består av å legge til .ren-tabell-odd klassenavn til hverandre
element. Av kompatibilitetshensyn vil jeg gå for den andre tilnærmingen.
For øyeblikket har tabeller et problem når de vises på små skjermer, men det blir løst i neste utgave. Vær oppmerksom på at du ikke ser det i demoen fordi jeg fikset det. Høy fem for meg.
Koden som lager det stripede bordet er vist nedenfor:
Morsomt prisbord
Timer Antall
Pris (€)
Safe (%)
1
30 €
0%
5
135 €
10%
10
255 €
15%
20
480 €
20%
50
1050 €
30%
Trinn 5: Et stablet kontaktskjema
Skjemaer er enda en modul i det rene biblioteket. Den lar deg vise skjemaene dine i flere forskjellige typer stiler. I denne demonstrasjonen lager vi et stablet skjema, der inngangselementene er under etikettene. For å gjøre dette må vi legge til .ren form og .ren-skjema-stablet klasser til element. Da må vi plassere begge merkelapp og inngang koder i en wrapper, hvor vi skal bruke .ren-kontroll-gruppe klasse og deretter sette alle disse wrappers i en element. Send-knappen og tilbakestillings-knappen vil også ha en wrapper, men deres wrapper vil ha klassen .Pure-kontroller. Vær oppmerksom på at for innleveringsknappen brukte vi klassen .ren-knapp-primær å markere den. Den citerte klassen tilhører knappen Knapper og brukes til å endre stilen på knappen, med en blå farge.
Her ser du hvordan skjemaet ditt skal se ut:
Kontakt meg
Trinn 6: En vertikal meny med en topptekst
Det endelige elementet du lærer å lage, bruker Pure, vil være en vertikal meny med en overskrift. En meny av denne typen er utformet med en svart ramme rundt, rundt. For å bruke det, vil vi søke på listen wrapper, to av de tre klassene vi allerede har brukt i første trinn, det vil si .ren-menyen og .ren-menu-open. I tillegg til å opprette overskriften må vi legge til et annet element og søke på det .ren-menyen rubrikken klasse.
Koden for denne menyen er oppført nedenfor:
Hvor finner jeg meg
Mine profiler
Twitter
Linkedin
GitHub
Google+
Konklusjon
Så fullfører denne introduksjonen til Pure. Jeg håper du likte det. Hvis du vil følge utviklingen av Pure, kan du besøke sitt depot på GitHub. Du er velkommen til å sende inn problemer, utstede trekkforespørsler og bidra.