Când Collis a lansat acest site și a cerut cititorilor cereri de tutorial, unul comun a fost pentru o temă "reviste tematice" cum să pentru platforme blog. Acest tutorial se concentrează asupra primei părți a procesului: aplicarea unei rețele CSS în design pentru a realiza prototipul unui șablon de pagină de pornire.
Puteți vedea o demonstrație a acestui tutorial făcând clic pe butonul "Demo", de mai jos. Pentru sursă, descărcarea fișierului ZIP nu include codul Blueprint CSS.
Accentul se concentrează aici pe un exemplu de proiectare a paginii web folosind cadrul de rețea Blueprint CSS, bazat pe articolul meu anterioar ce CSS Grid Framework. Cu toate acestea, puteți aplica același proces pentru orice cadru de rețea CSS pe care îl preferați. Dacă nu vă place să utilizați cadre de rețea pe site-urile de producție, puteți întotdeauna să înlocuiți codul CSS și clasele corespunzătoare HTML cu propriile dvs..
Designul paginii prezentat mai jos este influențat de numeroasele teme ale revistei WordPress, astfel încât este posibil să vedeți elemente de design familiare, deși acest tutorial nu este un tutorial specific WP.
Permiteți-mi să subliniez că sunt doar un "fotoliu", designer auto-învățat, iar natura minimalistă a designului meu va reflecta lipsa mea de formare adecvată. Sperăm că vă permite să vă concentrați asupra procesului general de proiectare și codificare a rețelei, care se bazează pe elemente geometrice, nu pe stil.
Un proces tipic de proiectare pentru paginile web este de a începe cu o schiță pe hârtie, urmată de o machetă grafică în Photoshop sau Fireworks etc. Picăturați toate elementele de design, poziționate aproximativ în locul în care doriți. Mai târziu, în faza de proiectare a rețelei CSS, veți determina măsurătorile exacte.)
FilmPundits este un site deținut de un prieten pe care îl construiesc. Modelul de mai jos este unul dintre mai multe modele "FilmScenic" pe care le-am făcut prototip. Subiectul filmului se împrăștie doar în acest exemplu din cauza imaginilor în format panoramic.
Dacă doriți să utilizați un design similar pentru subiecte non-film, trebuie doar să ajustați înălțimile imaginii pentru a le face să pară mai puțin ecran lat. Pentru nevoile mele de design, cea mai mare imagine trebuie să aibă cel mai mare impact. Deci, compoziția este poziționată ușor în afara centrului, orizontal. Aceasta face ca intreaga pagina sa fie mai dinamica si atrage atentia asupra celor mai importante elemente.
Să aruncăm o privire la liniile "ghid" de mai jos, care formează grila de proiectare pentru mockup-ul de mai sus.
Utilizați software-ul grafic preferat pentru a transforma liniile de ghidare într-o hartă "felie":
Dacă nu utilizați o rețea CSS, veți codifica manual pagina dvs. web și fișierul CSS în acest moment sau permiteți software-ului dvs. să genereze codul pentru dvs..
Acum că avem o machetă de design grafic, trebuie să o traducem în cod HTML și CSS. Pentru a reitera, folosirea unui cadru de rețea CSS accelerează procesul de prototipare. Puteți măsura elementele de design în lățimi pixel și finetune pentru a se potrivi grila CSS pe care o utilizați. (Nu am prea mult în poziționarea verticală, deoarece am tendința de a controla asta cu înălțimile imaginii și marginile de sus / jos).
Aici este procesul pe care îl folosesc în mod obișnuit pentru a aplica rețelele CSS, care tratează macheta de design grafic ca pe o parte. Va trebui să ajustați acest lucru pentru a vă satisface nevoile.
Dacă sunteți un designer adevărat, spre deosebire de mine, probabil că veți face cea mai mare parte a machetei de design din pachetul dvs. preferat de editare grafică. Prefer, în general, să schițez pe hârtie, apoi să machez în zbor folosind codurile HTML și CSS (clase Blueprint și personalizate), după cum se discută mai jos.
Acum, că aveți o machetă a aspectului paginii dvs., puteți începe codarea în HTML și CSS. Iată un proces brut al etapelor actuale de codificare:
Pentru a face procesele de mai sus mai clare, să aruncăm o privire asupra unor fragmente reale de cod HTML și CSS pentru exemplul de design al site-ului filmului imaginat mai devreme. Rețineți că am mers extreme cu etichetele non-Blueprint div doar pentru claritate în acest tutorial. Probabil că veți dori să eliminați toate clasele excesive, eventual să îmbinați etichetele imbricate div.
Rețineți, de asemenea, că am folosit câteva clase "urâte" non-Blueprint CSS pentru claritate. Toate acestea sunt precedate de "fs-", urmate de un nume funcțional, pentru a clarifica pentru ce le folosesc.
Am codat cinci etape pentru acest tutorial, pentru a ilustra procesul de rafinare în HTML și CSS. În mod normal, aș comprima etapa 1-3.
Acești pași vor fi mai clare în secțiunile de mai jos.
Pentru a începe cu, dorim să setăm fișierul HTML:
Șablonul de film antet, conținut, bara laterală și subsolul mergeți aici
Acum blochează aproape întreaga pagină (container) în trei secțiuni controlate de CSS: fs-mainblock, fs-sidebar și fs-footer. Puteți vedea acest lucru în codul HTML de mai jos, care completează unele dintre elementele div.container pe care le-am introdus mai devreme:
antetul, blocurile de conținut merg aicibara laterală(c) Copyright 2008-prezent, Acest blog
Veți observa că divs-urile de mai sus utilizează clase personalizate și clase Blueprint (span-18, colborder, span-5, last, span-24). Clasa "ultim" este foarte importantă, în caz contrar marginea implicită a secțiunii barei laterale nu va fi oprită, iar secțiunea va fi afișată sub secțiunea fs-mainblock în loc de lângă ea. Colborderul trage o linie verticală între fs-mainblock și fs-sidebar și ocupă o coloană de la sine. Acest lucru nu este reflectat în valoarea "span-18". În teorie, blocul principal ocupă de fapt 19 coloane (19 + 5 = 24 coloane, implicit Blueprint).
Acum adăugăm clase în foaia de stil personalizată pentru aceste trei blocuri (vedeți mai jos). Notă: unele dintre acestea sunt temporare, pentru a demonstra dreptunghiurile de pe ecran în timp ce perfecționați designul. Consultați fișierul final stil.css în loc să utilizați exact regulile prezentate în fragmentele de cod CSS de mai jos.
div.fs-conținut margin-bottom: 20px; div.fs-mainblock height: 700px; fundal: #ccc; div.fs-sidebar înălțime: 700px; fundal: #ccc; div.fs-footer margin-top: 20px; padding-top: 5px; înălțime: 30px; fundal: #ccc; frontieră: 1px solid # 000;
CSS de mai sus are ca rezultat machetul brut de mai jos:
Să îmbunătățim în continuare designul prin ruperea secțiunilor. Clasa fs-mainblock div este împărțită în secțiuni fs-header și fs-featured. Bara laterală fs este împărțită în fs-recentposts și fs-newsbox. Aici este div.container rafinat:
Logo + meniuSecțiuni recomandatePostări recente
Știri(c) Copyright 2008-prezent, Acest blog
Ca și până acum, clasele pentru secțiunile noi sunt adăugate în stilul personalizat, stil.css. Înălțimea fiecărei secțiuni este aproximată acolo unde este necesar și adăugăm încă o dată un fond temporar unor elemente, care vor fi eliminate în fișierul final stil.css. Iată câteva reguli CSS suplimentare:
div.fs-header // Logo + lățime meniu: 710px; înălțime: 110px; fundal: #ccc; margin-bottom: 10px; div.fs-featured // Lățimea secțiunilor recomandate: 710px; înălțime: 580px; fundal: #ccc; margin-bottom: 10px; div.fs-bara laterală div.fs-recentposts height: 370px; fundal: #ccc; margin-bottom: 10px; div.fs-bară laterală div.fs-newsbox height: 270px; fundal: #ccc;
Acest lucru are ca rezultat macheta următoare:
Aceasta este etapa finală a procesului de machetare. Adăugăm secțiuni pentru toate elementele de design rămase:
Iată cum arată acum div.container-ul nostru:
SiglăMeniulRecomandatemare caracteristicăsmsmsmPostări recentepostare recentapostare recentapostare recentapostare recentapostare recenta
Știri(c) Copyright 2008-prezent, Acest blog
După cum puteți vedea, există o mulțime de divs imbricate folosite. Unele dintre ele sunt doar pentru claritate în acest tutorial. Pentru restul, pe un site de producție, puteți să compactați o parte din acesta sau să înlocuiți clasele Blueprint cu ale dvs. Unii oameni preferă să utilizeze caching-ul pe site-urile lor, atunci când folosesc teme "reviste" cu cadre de rețea - deși acest lucru nu este de natură pentru acest tutorial.
Fiecare dintre noile clase se adaugă la foaia de stil personalizată, cu înălțimi și fundaluri temporare:
div.fs-logo / * logo-ul site-ului * / height: 90px; lățime: 400px; fundal: # 999; margin-bottom: 10px; div.fs-horiznav / * Meniu orizontal * / înălțime: 25px; lățime: 710px; fundal: # 999; margin-bottom: 10px; div.fs-featured / * Secțiuni recomandate * / lățime: 710px; înălțime: 580px; fundal: #ccc; margin-top: 10px; margin-bottom: 10px; div.fs-txt-featured / * Recomandat * / înălțime: 30px; lățime: 110px; fundal: # 999; Funcții div.fs / * Caracteristici * / height: 570px; lățime: 590px; fundal: # 999; div.fs-bigfeature / * Caracteristică mare * / înălțime: 260px; lățime: 590px; fundal: # 666; margin-bottom: 20px; div.fs-smfeatures div / * caracteristică mică * / height: 280px; fundal: # 666; margin-bottom: 10px; div.fs-recentpost / * Postare individuală recentă. Înălțimea este de fapt variabilă, dar este de minimum 49 px * / height: 50px; // Lățimea aproximativă: 190px; fundal: # 999; margin-bottom: 10px;
Acest lucru are ca rezultat etapa finală a machetelor, care arată destul de aproape de geometrie față de machetul nostru de design grafic "feliat":
Suntem gata să producem codul final.
Acesta este ultimul pas în procesul de codificare, în care scăpăm de elementele de design reale, facem curățenie în exces și diviziuni și scăpăm de elementele "blocante":
Acum avem proiectul nostru final, de mai jos, care este la fel ca în partea de sus a acestui tutorial:
Fișierele finale nu au nici unul dintre elementele blocate cu gri și există comentarii suplimentare detaliate în fișierul style.css care ar trebui să vă ajute să descifrați scopul fiecărei clase personalizate. Fișierul ZIP include imagini extrase din diferite postere de film, care sunt drepturile de autor ale proprietarilor respectivi. Fișierele grid Blueprint CSS nu sunt incluse în fișierul ZIP.
Rețineți că pot exista unele discrepanțe minore între fișierele sursă și codul prezentat mai sus.
Unele comentarii finale cu privire la exemplul din acest tutorial:
Acesta nu este un exemplu complex, nici o temă completă pentru o platformă de blog, dar sper că vă ajută să înțelegeți cum să utilizați rețelele CSS pentru proiectarea paginilor web. În timp ce codul este pentru o pagină statică, următorul pas este să-l integrezi cu o platformă blog pentru a crea un șablon de pagină.