Når Collis lanserte dette nettstedet og spurte leserne om opplæringsforespørsler, var det vanlig å ha en "magazine temaer" for blogger. Denne opplæringen fokuserer på den første delen av prosessen: Bruke et CSS-nett til design for å prototype en startside mal.
Du kan se en demonstrasjon av denne opplæringen ved å klikke på "Demo" -knappen nedenfor. For kilden inneholder ikke ZIP-filnedlastingen CSS-koden.
Fokuset her er på et nettside design eksempel ved hjelp av Grenseoppsett CSS grid rammeverket, basert på min tidligere Which CSS Grid Framework artikkel. Du kan imidlertid bruke samme prosess til et CSS-gridramme du foretrekker. Hvis du ikke liker å bruke rutenettverk på produksjonssteder, kan du alltid erstatte CSS-koden og tilhørende HTML-klasser med dine egne.
Sidedesignet som er vist nedenfor, er påvirket av mange WordPress-magasinetemaer, slik at du kanskje ser kjente designelementer, selv om dette ikke er en WP-spesifikk opplæring.
La meg påpeke at jeg bare er en "lenestol", selvlærte designer, og min minimalistiske natur vil gjenspeile min mangel på riktig opplæring. Forhåpentligvis kan du fokusere på det generelle griddesign og kodingsprosessen, som er basert på geometriske elementer, ikke på stil.
En typisk prosessprosess for nettsider er å starte med en skisse på papir, etterfulgt av en grafisk mockup i Photoshop eller fyrverkeri, etc. Slip inn alle designelementene, plassert omtrent hvor du vil ha dem. Senere, i CSS-gridbasert designfase, bestemmer du nøyaktige målinger.)
FilmPundits er et nettsted eid av en venn som jeg bygger opp. Mockupet nedenfor er en av flere "FilmScenic" -design som jeg har prototypisert. Filmemnet gir seg bare til dette eksempelet på grunn av widescreen-stilbilder.
Hvis du vil bruke en lignende design for ikke-filmemner, juster du bildestørrelsene for å få dem til å se mindre widescreen-y. For designbehovene mine må det største bildet ha størst effekt. Så sammensetningen er plassert litt utenfor sentrum, horisontalt. Dette gjør hele siden litt mer dynamisk og trekker øyet til de viktigste elementene.
La oss se på "guide" linjene nedenfor, som danner designruten for mockupen over.
Bruk din favorittgrafikkprogramvare til å snu styrelinjene til et "skive" -kart:
Hvis du ikke bruker et CSS-nett, vil du enten manuelt kode nettsiden og CSS-filen på dette tidspunktet, eller la programvaren generere koden for deg.
Nå som vi har en grafisk designmockup, må vi oversette det til HTML og CSS-kode. Å gjenta, ved hjelp av et CSS-gridramme, øker prototypeprosessen. Du kan måle designelementene i pikselbredder og finjustere for å passe til CSS-nettet som du bruker. (Jeg får ikke mye inn i vertikal posisjonering fordi jeg pleier å kontrollere det med bildehøyder og topp / bunnmarginer.)
Her er prosessen jeg vanligvis bruker til å bruke CSS-nett, som behandler den grafiske designmockupen som en side. Du må justere dette for å dekke dine behov.
Hvis du er en ekte designer, i motsetning til meg selv, vil du sannsynligvis gjøre det meste av designmockupen i din favorittgrafikredigeringspakke. Jeg foretrekker vanligvis å skisse på papir, deretter mocke på fly med HTML og CSS (både Blueprint og egendefinerte klasser), som omtalt nedenfor.
Nå som du har en mockup av sidelayout, kan du starte koding i HTML og CSS. Her er en grov prosess av de faktiske kodingstrinnene:
For å gjøre de ovennevnte prosessene tydeligere, la oss se på noen egentlige HTML- og CSS-kodefragmenter for filmprodukteksemplet som ble vist tidligere. Vær oppmerksom på at jeg har gått ekstrem med ikke-Blueprint div-kodene for klarhet i denne opplæringen. Du vil sannsynligvis ønske å fjerne eventuelle overskytende klasser, eventuelt slå sammen nestede div-koder.
Vær også oppmerksom på at jeg har brukt noen "stygge" CSS-klassenavn for ikke-Blueprint-skrifter for klarhet. De er alle foran "fs-", etterfulgt av et funksjonelt navn, for å gjøre det klart hva jeg bruker dem til.
Jeg har kodet fem trinn for denne opplæringen, for å illustrere forfiningsprosessen i HTML og CSS. Normalt vil jeg komprimere fase 1-3.
Disse trinnene vil bli tydeligere i seksjonene nedenfor.
For å starte med, vil vi sette opp HTML-filen:
FilmScenic Mal header, innhold, sidebar og footer gå her
Nå blokkerer du hele siden (container) grovt inn i tre CSS-kontrollerte seksjoner: fs-mainblock, fs-sidebar og fs-footer. Du kan se dette i HTML-koden nedenfor, som fyller inn noen av div.container-elementet vi introduserte tidligere:
header, innholdsblokker går hersidebar(c) Copyright 2008-present, Denne bloggen
Du vil legge merke til at divs ovenfor bruker både egendefinerte klasser og Blueprint-klasser (span-18, colborder, span-5, sist, span-24). Klassen "siste" er veldig viktig, ellers vil ikke fs-sidebar-delen standard høyre margen bli slått av, og delen vil gjengis under fs-hovedblokken i stedet for ved siden av den. Colborder trekker en vertikal linje mellom fs-mainblock og fs-sidebar, og tar opp en kolonne av seg selv. Dette gjenspeiles ikke i verdien "span-18". I teorien tar mainblock faktisk 19 kolonner (19 + 5 = 24 kolonner, standardblanketten).
Nå legger vi klasser til det tilpassede stilarket for disse tre blokkene (se nedenfor). Merk: Noen av disse er midlertidige, for å demonstrere blokkrektanglene på skjermen mens du raffinerer designet. Ta kontakt med final style.css-filen i stedet for å bruke nøyaktig reglene som presenteres i CSS-kodestykket nedenfor.
div.fs-innhold margin-bottom: 20px; div.fs-mainblock høyde: 700px; bakgrunn: #ccc; div.fs-sidebar høyde: 700px; bakgrunn: #ccc; div.fs-footer margin-top: 20px; polstring: 5px; høyde: 30px; bakgrunn: #ccc; border-top: 1px solid # 000;
CSS ovenfor resulterer i grov mockup under:
La oss avgrense designen ytterligere ved å bryte ned delene. Fs-mainblock div-klassen er delt inn i fs-header og fs-featured-seksjoner. Fs-sidebar er delt inn i fs-nyhetsbrev og fs-nyhetsboks. Her er den raffinerte div.container:
Logo + menyUtvalgte seksjonerSiste innlegg
Nyheter(c) Copyright 2008-present, Denne bloggen
Som tidligere blir klasser for de nye seksjonene lagt til i det tilpassede stilarket, style.css. Hvert seksjons høyde er tilnærmet der det er nødvendig, og vi legger igjen en midlertidig bakgrunn til noen av elementene, som vil bli fjernet i den siste style.css-filen. Her er noen ekstra CSS-regler:
div.fs-header // Logo + menybredde: 710px; høyde: 110px; bakgrunn: #ccc; margin-bunn: 10px; div.fs-featured // Anbefalte seksjoner bredde: 710px; høyde: 580px; bakgrunn: #ccc; margin-bunn: 10px; div.fs-sidebar div.fs-recentposts høyde: 370px; bakgrunn: #ccc; margin-bunn: 10px; div.fs-sidebar div.fs-newsbox høyde: 270px; bakgrunn: #ccc;
Dette resulterer i følgende mockup:
Dette er den siste fasen i mockup-prosessen. Vi legger til seksjoner for alle gjenværende designelementer:
Slik ser vår divcontainer nå ut:
logoMenyUtvalgtstor funksjonsm-funksjonensm-funksjonensm-funksjonenSiste innleggsiste innleggetsiste innleggetsiste innleggetsiste innleggetsiste innlegget
Nyheter(c) Copyright 2008-present, Denne bloggen
Som du ser, er det mange nestede diver som brukes. Noen av det er bare for klarhet i denne opplæringen. For resten, på et produksjonssted, kan du komprimere noe av det eller erstatte Blueprint-klassene med ditt eget. Noen foretrekker å bruke caching på sine nettsteder, når de bruker "magasin" -temaer med rutenettverk - selv om det ikke er mulig for denne opplæringen.
Hver av de nye klassene blir lagt til det tilpassede stilarket, med midlertidige høyder og bakgrunner:
div.fs-logo / * Site logo * / høyde: 90px; bredde: 400px; bakgrunn: # 999; margin-bunn: 10px; div.fs-horiznav / * Horisontal meny * / høyde: 25px; bredde: 710px; bakgrunn: # 999; margin-bunn: 10px; div.fs-featured / * Utvalgte seksjoner * / bredde: 710px; høyde: 580px; bakgrunn: #ccc; margin-topp: 10px; margin-bunn: 10px; div.fs-txt-featured / * Utvalgt * / høyde: 30px; bredde: 110px; bakgrunn: # 999; div.fs-funksjoner / * Funksjoner * / høyde: 570px; bredde: 590px; bakgrunn: # 999; div.fs-bigfeature / * Stor funksjon * / høyde: 260px; bredde: 590px; bakgrunn: # 666; margin-bunn: 20px; div.fs-smfeatures div / * Liten funksjon * / høyde: 280px; bakgrunn: # 666; margin-bunn: 10px; div.fs-recentpost / * Individuell nylig innlegg. Høyde er faktisk variabel, men er minst 49 px * / høyde: 50px; // Grov bredde: 190px; bakgrunn: # 999; margin-bunn: 10px;
Dette resulterer i vår siste mockup-scenen, som ser ganske nær geometri til vår "skiver" grafisk designmockup:
Vi er nå klare til å produsere den endelige koden.
Dette er det siste trinnet i kodingsprosessen, hvor vi faller ned i selve designelementene, gjør opprydding på overskytende divs og klasser og slipper av "blokkerende" elementer:
Nå har vi vårt siste design, under, som er det samme som på toppen av denne opplæringen:
De endelige filene har ingen av de gråblokkede elementene, og det finnes ytterligere verbose kommentarer i style.css-filen som skal hjelpe deg med å dekode formålet med hver tilpasset klasse. ZIP-filen inneholder bilder beskåret fra ulike filmplakater, som er opphavsrett til deres respektive eiere. CSS gridfilene er ikke inkludert i postnummeret.
Vær oppmerksom på at det kan forekomme små uoverensstemmelser mellom kildefilene og koden som presenteres ovenfor.
Noen endelige kommentarer til eksemplet i denne opplæringen:
Dette er ikke et komplekst eksempel, eller et fullt tema for en bloggplattform, men jeg håper det hjelper deg med å forstå hvordan du bruker CSS-nett for webdesign. Mens koden her er for en statisk side, er neste trinn å integrere det med en bloggplattform for å lage en startside mal.