ghid html in pasi simpli de la psd catre css

Upload: valentin

Post on 30-May-2018

334 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    1/47

    Ghid HTML in pasi simpli - de la PSD catre

    CSS (Partea I)

    Acesta e primul din seria de 4 tutoriale ce te vor invata cum sa transformi un fisier PSD intr-o pagina

    html cu ajutorul CSS. In continuare vom construi un site Photography complet operational in Xhtml si

    CSS. Toate codurile, fisierele si template-urile iti stau la dispozitie pentru a te juca cu ele si chiar te

    incurajez sa o faci.

    Acum sa ne concentram asupra tutorialului.

    Unul din cele mai grele lucruri in a transforma un design PSD intr-un layout CSS/HTML bine structurat

    consta in a sti de unde sa incepi. Desi ar putea suna simplist si chiar evident, conteaza foarte mult

    felul cum incepi si fundatia pe care vei construi. In aceasta serie de articole te voi invata pas cu pasetapele acestui proces de converse si vom analiza deciziile pe care trebuie sa le iei, precum si modul in

    care aceste decizii se vor adapta pe masura ce lucrurile progreseaza. Articolul nu va aborda tehnici

    grafice anume ( ex: taierea imaginilor si optimizare) deoarece acestea variaza de la un program la

    altul si nu reprezinta scopul acestui tutorial. In mod evident, va trebui sa stii cum sa faci aceste lucruri

    si presupun ca deja ai aceste cunostiinte elementare.

    Pentru inceput ne vom inchipui ca doar ce ai primit un PSD de la un designer si ai fost rugat sa-l

    transformi intr-o pagina CSS/HTML valida si functionala. Iata o imagine a layout-ului pe care il vom

    obtine la final:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    2/47

    PASUL 1

    La prima vedere pare destul de usor, dar inainte sa incepem hai sa ne uitam mai indeaproape la

    elemente si sa identificam eventualele zone problema. E posibil sa fii nevoit sa iei unele decizii

    importante in ceea ce priveste design-ul in aceasta etapa incipienta, asa ca inca de la inceput trebuie

    sa ai o idee clara despre cum poate fi realizat design-ul. Daca gasesti zone imposibil de creat pe o

    pagina web adevarata sau care ar crea prea multe probleme cu browser-ul, atunci e mai bine sa le

    localizezi acum si sa anunti designerul inainte sa incepi.

    Daca lucrezi pentru cineva, e important sa mentionez ca pana in acest moment ar fi trebuit sa

    stabilesti cu clientul volumul tau de munca, precum si suma cu care te va plati. Daca nu fixezi

    parametrii exacti ai job-ului el va putea sa se foloseasca de asta pentru a te obliga sa adaugi orice

    doreste, ori de cate ori doreste, fara ca tu sa ai vreo scapare. ( Nu toti clientii sunt asa, dar se mai

    gasesc si unii de genul acesta)

    Fix, fluid sau em based

    Acum ca am stabilit aceste lucruri, hai sa trecem la fapte si sa vedem cu ce ne confruntam; imparte

    layout-ul in sectiuni mai usor de manevrat. Prima intrebare pe care trebuie sa ti-o pui este daca avem

    de a face cu un layout cu o latime fixa sau unul cu o latime variabila in care dimensiunea fiecarei

    coloane poate varia in functie de rezolutia ecranului. Bineinteles ca te poti consulta cu clientul in

    aceste privinte, dar , pentru acest prim tutorial, sa presupunem ca e vorba de un layout cu o latime

    fixa. In tutorialele viitoare vom analiza felul in care se poate transforma exemplul intr-un layout cu

    http://www.e-learn.ro/includes/tutorials/web_design/HTML/253/images/1.jpghttp://www.e-learn.ro/includes/tutorials/web_design/HTML/253/images/1.jpg
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    3/47

    latime variabila sau intr-unul em based. Pentru moment insa, vom ramane la pixeli pentru a ne fi mai

    usor.

    Reactia mea initiala cand am vazut PSD-ul a fost ca designer-ul a folosit mult gradient si efecte de

    umbra in locuri diferite, dar si ca a adaugat colturi rotunjite la cateva din elementele de design. De

    exemplu, backgroundul are un gradient vertical de la #282f27 la #000000, pe o portiune de 880pixeli. Acest lucru nu reprezinta o problema propriu-zisa deoarece putem repeta o imagine pe axa x,

    iar in acelasi timp putem seta culoarea de fundal in tag-ul body la valoarea pe care o va avea fade-ul

    final (#000). Aceasta operatiune va permite layout-ului sa se extinda vertical oricat va fi nevoie.

    Complicatiile vor consta in faptul ca elementele header vor avea un fundal usor mai intunecat plasat in

    jurul lor, care va varia in functie de culoarea backgroundului.

    Avem 2 optiuni in acest moment:

    o Creeaza efectul de intunecare in jurul elementului folosind transparenta PNG, astfelincat fundalul intunecat din body sa se poata vedea prin imaginea PNG opaca. Cu toate

    ca acest lucru e posibil cu majoritatea browser-elor, exista probleme grave cu IE6, in

    sensul ca el nu va reda PNG-ul transparent in mod corespunzator. Ai putea folosi filtrul

    alpha-image loader pentru a compensa in IE5 si 5.5 daca nu ai de ales, dar si acest

    lucru aduce alte probleme, de aceea ar trebui utilizat numai daca nu exista alta

    alternativa.

    o Imparte elementele fundalului cu umbra gradientului la locul ei si potriveste-o cufondul din body. Atat timp cat elementele din header au o inaltime fixa, atunci totul va

    merge bine. Desigur, daca textul va fi reorganizat si elementelor li se va permite sa se

    mareasca, atunci e posibil ca acestea sa nu se mai imbine corect. Totusi, cred ca

    acesta este un pret mic de platit pentru a lasa codul cat mai simplu. Asadar, vom

    alege aceasta metoda, iar daca aflam mai tarziu ca nu e indeajuns de buna, va trebui

    sa o regandim.

    Structura paginii

    Pentru a iti face o idee despre ce elemente ai nevoie pentru intreaga pagina, poti crea o schita a site-

    ului tau (fie in mintea ta, fie pe hartie). Iata o macheta a paginii noastre:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    4/47

    Chiar daca in realitate nu vom folosi exact aceasta structura, aceasta poza iti ofera un punct de reper

    vizual legat de ceea ce trebuie realizat si furnizeaza o ordine logica a pasilor urmatori. Unele persoane

    vor respecta aceasta versiune wire-frame, dar in unele cazuri ea te poate incurca, asa ca este de

    preferat sa te concentrezi asupra elementelor unul cate unul, de la primul la ultimul.

    Fiecare zona va pune anumite probleme, dar structura esentiala e urmatoarea: un layout centrat cu 3

    sectiuni orizontale statice urmate de 3 coloane care vor fi inserate de-a lungul ecranului. Partea

    principala a site-ului va consta in cele 3 coloane, iar problemele importante ce vor trebui rezolvate

    sunt legate tot de cele 3 coloane aparent egale. Acest lucru poate fi reglat destul de usor in layout-ul

    cu latime fixa prin folosirea unei imagini de fundal care se repeta si care creeaza cele 3 coloane

    automat.

    Vor exista si probleme legate de sectiunea principala deoarece trebuiesc luate in considerare

    gradientele verticale si imaginile aliniate in partea de jos, iar design-ul ar putea fi modificat pe masura

    ce avansam. Dar, pentru moment e bine ca am realizat acest lucru si ca am luat aminte de optiunile

    pe care le avem. Daca in acest moment consideri ca un anumit lucru e imposibil, intrucat nu toate

    desenele pot fi transpuse pe web, ar trebui sa il contactezi pe client si sa cauti strategii alternative

    daca design-ul trebuie schimbat.

    Dupa ce am identificat problemele principale si am ratificat posibilele modificari de design, e timpul sa

    incepem adevarata munca, sa scriem codul si sa taiem imaginile. Sa le luam pe rand.

    1. Alege marimea font-ului, tipul font-ului si culorile principale din PSD si stabileste-le claseleCSS default. De asemenea, defineste marimea default a fontului, ce va permite

    redimensionarea textului in IE6 sau in versiunile mai vechi ale IE. De fapt, acest proces este

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    5/47

    atat de uzual, incat ar trebui sa ai deja un template setat pentru a incepe munca imediat si

    pentru a iti permite sa modifici tipul fontului si culorile.

    2. Masoara layout-ul astfel incat sa creezi un container pentru continut, deoarece intregcontinutul poate fi centrat cu ajutorul containerului. Unii designeri folosesc atributul width in

    tag-ul body, in locul unui container intern, dar aceasta abordare poate crea probleme pe

    versiunile anterioare ale IE, si eu recomand sa lasi body-ul in pace. Totusi, daca vrei sa fiiminimalist poti lua in vedere si aceasta optiune.

    De multe ori vei primi PSD-uri cu latimea de 800px deoarece designerului i s-a spus ca site-ul trebuie

    sa fie vizibil la rezolutia de 800x600, iar el nu si-a dat seama ca dimensiunea de 800px este prea

    mare pentru 800x600 datorita marginilor browserului si a barei de scroll. Latimea maxima in acest caz

    este de aproximativ 760px (in functie de browser), pentru a evita aparitia barei de scroll orizontal.

    Acesta este un exemplu de lucruri pe care trebuie sa le iei in considerare la masurarea layout-ului si

    crearea unui container pentru intreg continutul paginii.

    1. Incepe de sus in jos. Lucrand logic iti poti imparti munca in sectiuni astfel incat poti lua fiecarelucru pe rand si face planuri in functie de necesitati. Intotdeauna trebuie sa fii atent la ce va

    urma, dar daca te concentrezi asupra fiecarui lucru pe rand, eforturile tale vor fi canalizate

    catre acel lucru, iar cand fiecare element va fi terminat si nu vei avea doar lucruri pe jumatate

    facute te vei simti implinit.

    In PSD-ul nostru avem meniul in partea de sus, urmat de logo si de slogan. Apoi urmeaza o imagine

    header cu un casuta de cautare si in final,3 coloane si un mic footer cu un mesaj de copyright.

    Imi place sa folosesc nume logice pentru sectiuni. Daca de exemplu,coloana din stanga se numeste

    #leftcol si mai tarziu o vei schimba folosind CSS pentru a deveni cea din dreapta, totul va deveni

    confuz. E mai bine sa folosesti nume generice, dar functionale, cum ar fi #sidebar1 pentru coloana din

    stanga si #sidebar2 pentru coloana din dreapta, sau chiar #col1 si #col2. Totusi, in cazul in care te

    decizi sa schimbi ceva, gandeste-te cu atentie la numele pe care le vei alege, dar nici nu exagera

    ajungand in punctul in care nu mai stii ce reprezinta fiecare.Pentru layout-ul nostru vom folosi

    urmatoarele denumiri:

    #outer retine intreg continutul paginii

    #header - contine meniul si alte elemente din header cum ar fi logo-ul si casuta de cautare.

    #nav meniul principal

    #tagline - logo si slogan

    #search casuta de cautare si imaginea de fundal

    #main acesta este un container pentru cele 3 coloane

    #col1 coloana stanga

    #maincol coloana din centru#col3 coloana din dreapta

    #footer Footer

    Pentru alte elemente interne vom folosi clase. Tine minte ca denumirile trebuie sa fie unice si ca nu

    pot fi folosite decat o data pe pagina.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    6/47

    Structura de baza

    Acum avem destule cunostiinte cat sa putem crea o structura html elementara si sa setam cateva

    clase css default:

    Sanke Photography

    About Us

    Gallery

    Contact Us

    Events

    News

    CSS Principal

    /* documentul principal CSS */

    /* prima data clasele generale */

    /* reseteaza stilurile css individual in locul selectorului universal.*/html, body{

    margin:0;

    padding:0;

    font-weight:inherit;

    font-style:inherit;

    font-size:100%;

    font-family:inherit;

    vertical-align:baseline;

    border-left:0;

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    7/47

    }

    div, span, applet, object, iframe,

    h1, h2, h3, h4, h5, h6, p, blockquote, pre,

    a, abbr, acronym, address, big, cite, code,

    del, dfn, em, font, img, ins, kbd, q, s, samp,

    small, strike, sub, sup, tt, var,

    dl, dt, dd, ol, ul, li,

    fieldset, form, label, legend,

    table, caption, tbody, tfoot, thead, tr, th, td{

    margin:0;

    padding:0;

    border:0;

    font-weight:inherit;

    font-style:inherit;

    font-size:100%;

    font-family:inherit;

    vertical-align:baseline;

    }

    body{line-height:1;

    color:black;

    background:white;

    font-family: Verdana,Arial, Helvetica, sans-serif;

    }

    ol, ul{list-style:none;}

    table{

    border-collapse:separate;

    border-spacing:0;

    }

    caption, th, td{

    text-align:left;

    font-weight:normal;

    }

    /* opreste resetarea stilurilor */

    /* tehnica clearing */

    .clearfix:after{

    content:".";

    display:block;

    height:0;

    clear:both;

    visibility:hidden;

    }.clearfix{display:inline-block;}

    /* ascunde mac */

    *html.clearfix{height:1%;}

    .clearfix{display:block;}

    /* sfarsitul optiunii hide */

    /*........... nu schimba sau amesteca stilurile clearfix de mai sus ......*/

    p,h1,h2,h3,h4,h5,h6,ul,ol{margin-bottom:.5em}

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    8/47

    aimg,img{border:none;display:block;}

    a{

    text-decoration:none;

    color:#252e1c;

    }

    h1,h2,h3,h4,h5,h6{

    font-weight:bold;

    }

    h1{font-size:197%}/* 26px */

    h2{font-size:182%}/* 24px */

    h3{font-size:167%}/* 22px */

    h4{font-size:152%}/* 20px */

    h5{font-size:136%}/* 18px */

    h6{font-size:122%}/* 16px */

    body{

    font-size:13px;

    text-align:center; /* for ie5.+*/

    }

    CSS doar pentru IE:

    /* IE CSS Document */

    body{font-size:x-small;font-size:small}/*ie5 si 5.5. */

    bodytable{font-size:x-small;font-size:small}

    Acest cod va fi imbricat dupa cum urmeaza:

    HTML:

    Am folosit metoda Reset CSS a lui Eric Meyers pentru a crea clase default uniforme pentru toate

    elementele, apoi am introdus o metoda de redimensionare a textului, asemanatoare celei folosite pe

    Yahoo YUI. Toate aceste lucruri vor oferi o baza consistenta de la care sa pornesti, dar si un template

    bun pentru orice pagina. Acum ca am stabilit toate aceste lucruri poti incepe sa transformi PSD-ul.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    9/47

    PASUL 2

    Presupunand ca ai stabilit deja cateva clase default pentru text, culorile link-urilor, stilurile font-ului,

    etc., putem sa incep constructia. Am setat fontul principal verdana" pentru ca cea mai mare parte a

    paginii are acest font, iar asta ne va scuti sa specificam de fiecare data acest lucru.

    Cand construiesc un site pentru prima data, includ intotdeauna clasele CSS in head pentru ca sunt

    mult mai usor de revizuit si editat pe masura ce lucrez la pagina. Odata ce pagina e functionala si

    testata, codul CSS poate fi mutat in fisierul principal extern CSS. E important sa deprinzi obiceiul de a-

    ti verifica munca la fiecare pas in browserele pe care trebuie sa mearga pagina ta. Eu stiu mai mult

    sau mai putin ce merge si ce nu, dar prin verificarea a 3 sau 4 browsere la fiecare etapa ma asigur ca

    nu exista discrepante si ca lucrurile pot fi reparate usor in acest stadiu, decat daca ar trebui sa asteptpana la final cand totul e terminat si chiar ca ar fi imposibil sa mai remediez ceva.

    Prin aceasta tehnica iti poti valida si HTML-ul si CSS-ul foarte rapid, astfel incat sa nu existe greseli in

    cod. Nu voi reveni asupra acestui lucru deoarece este de la sine inteles ca la fiecare etapa vor avea loc

    testarile de mai sus.

    De sus in jos

    Lucrand de sus in jos vom incepe cu elementul body si vom aplica gradientul fondului ca o portiune

    repetata pe fundalul paginii de-a lungul axei x. Culoarea de fundal a body-ului va fi setata in functie

    de culoarea gradientului final, care in acest caz, e negru. In acest mod, trecerea de la imaginea cugradientul la culoarea fundalului va fi imposibil de detecta

    Portiunea pe care este aplicat gradientul are inaltimea de 800px si de aceea nu avem alta optiune

    decat decuparea unei imagini cu aceeasi inaltime. S-ar putea sa fii tentat in acest moment sa faci

    imaginea de 1px pe 880px, dar nu e o idee buna deoarece asta inseamna ca browser-ul va trebui sa

    repete aceasta imagine de 1024 ori pe o pagina cu latimea de 1024px. Eu as folosi o felie" lata de cel

    putin 5px sau chiar 10px pentru a face ca browser-ul sa munceasca mai putin si pagina sa fie

    desenata mai rapid. Daca bucata e lata de 10 pixeli, atunci browser-ul va trebui sa repete imaginea

    doar de 102.4 ori, fata de 1024 de ori, ceea ce reprezinta o diferenta considerabila.

    Exista intotdeauna un compromis intre marimea fisierului imagine si timpul necesar repetarii sale peecran, asa ca nu folosi peste tot imagini de 1px pentru ca pagina ta va incepe sa mearga greu.

    Imparte fundalul PSD-ului pentru a crea o imagine care sa fie 5px x 880px si salveaza-o drept

    bodybg.jpg. Asta ne va da urmatorul cod CSS ce va trebui adaugat in tag-ul head ( imbricat in tag-ul

    style, bineinteles).

    CSS

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    10/47

    body{

    background:#000 url(images/bodybg.jpg) repeat-x00;

    }

    Acum ne vom concentra asupra continutului principal si va trebui sa cream un container pentru el.

    Masoara pagina si apoi centreaz-o. Am adaugat deja o rectificare pentru ie5 in clasele CSS default pe

    care le-am setat mai devreme si am aplicat text-align:center pentru body. Nu uita sa setezi text-align

    ca left pentru #outer, in caz contrar si textul va fi centrat.

    Iata codul care rezulta din masurarea paginii si centrarea ei folosind margini auto:

    CSS

    #outer{

    width:975px;

    margin:auto;/* centreaza pagina*/

    text-align:left;/* aliniaza textul la stanga datorita rectificarii pentru

    ie5.x */

    }

    Header-ul si meniul

    Vom da o latime header-ului pentru a se evita problemele in IE si pentru a ne asigura ca nu vom avea

    parte de bug-urile asociate.

    CSS

    #header{

    width:975px;

    }

    Meniul poate fi realizata orizontal daca se seteaza elementele din lista pentru a genera "inline boxes"

    in loc de "block boxes", permitandu-le astfel sa se alinieze orizontal. Folosirea listelor pentru meniurile

    CSS care se repeta reprezinta o modalitate unanim acceptata de a coda aceste. Daca adaugi un

    padding listei ul cu meniul, acesta se va alinia corect fata de marginea din dreapta a layout-ului,

    lasand astfel loc pentru imaginea cu frunza.

    Ce font folosim pentru meniu ?

    Ne-am lovit de prima problema: designer-ul a folosit in meniu un font care nu este browser-friendly,

    cu alte cuvinte fontul respectiv nu este recunoscut de browser. Asadar, trebuie sa iei o decizie in

    legatura cu ce vei face mai departe.

    Daca design-ul in format html trebuie sa contina acelasi font ca in fisierul PSD, atunci nu ai alta

    alternativa decat sa compui meniul din imagini, deoarece e posibil ca font-ul in cauza sa nu fie instalat

    pe 99.9% din calculatoarele care vor accesa pagina. Folosirea imaginilor pentru navigare poate dauna

    optimizarii pentru motoarele de cautare (SEO - Search Engine Optimisation) in unele cazuri, asa ca e

    mai bine sa faci acest lucru doar daca e absolut necesar. Font-ul principal folosit in continutul paginii

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    11/47

    este Verdana, deci acesta ar fi primul font pe care ar trebui sa-l incerci si sa vezi cat de mult se

    aseamana cu cel folosit in meniu. Din pacate, pentru acest caz potrivirea nu este una buna, dar la o

    alta testare reiese ca Arial este mai apropiat, mai ales cand e setat pe italic si ajustat ca marime.

    Iata o imagine a meniului original luata din PSD, comparata cu layout-ul nostru din Firefox 2 si

    folosind Arial:

    Randul de sus este cel original si din punctul meu de vedere cele doua se aseamana foarte mult.

    Oricum, niciodata html-ul nu va putea oferi anti-aliasing-ul si bold-ul partial pe care le furnizeaza

    Photoshop-ul. Daca clientul tau vrea ca totul sa arate identic, atunci va trebui sa substitui textul cu

    imagini.

    Privind fisierul PSD, putem presupune urmatorul lucru: cuvantul colorat in verde reprezinta pagina

    curenta si putem sa presupunem in continuare ca fiecare cuvant va fi colorat in verde daca mouse-ul

    se afla deasupra lui. Asadar, vom introduce acest lucru in nav inca de la inceput. Vom aplica o clasa

    structurii lista curente, astfel incat sa putem introduce o schimbare la hover.

    CSS

    ul#nav{

    font-size:92%;

    padding:18px115px5px0;

    text-align:right;

    }

    ul#navli{

    display:inline;

    padding:013px00;

    text-transform:uppercase;

    font-style:italic;

    font-weight:bold;

    font-family: Arial, Verdana, Helvetica, sans-serif;}

    ul#navlia{

    color:#fff;

    }

    ul#navlia:hover,

    ul#navli.currenta{color:#8bbd25}

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    12/47

    HTML

    About Us

    Gallery

    Contact Us

    EventsNews

    Retine ca am folosit text-transform:uppercase pentru a transforma linkurile din meniu in majuscule, in

    loc sa scriu direct cu majuscule. Exista o serie de motive pentru care am facut acest lucru. In primul

    rand, NU E FRUMOS SA TIPI, in al doilea rand acesta este un efect de decorare care ar trebui realizat

    prin CSS si nu html, iar in al treilea rand, face ca HTML-ul sa arate mai curat.

    Meniul este cat de cat terminata, dar e posibil sa fie nevoie sa o schimbam mai tarziu. Deocamdata o

    lasam asa cum e si ne vom intoarce asupra ei daca va fi nevoie sa o mutam.

    Cu asta se incheie partea 1 din tutorial, in curand urmeaza si cea de a doua.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    13/47

    Ghid HTML in pasi simpli - de la PSD la

    CSS (Partea a II-a)

    Bun venit in partea a 2-a a acestui ghid. In prima parte am creat structura elementara pe care vom

    construi site-ul de fotografie. Acesta este cel de al 2-lea din seria de 4 tutoriale, ce te invata cum sa

    transformi un fisier PSD intr-o pagina html cu ajutorul CSS. Acestea sunt primele dintr-o serie de

    articole cu ajutorul carora vei putea construi un site complet operational in Xhtml si CSS.

    In continuare lucram cu acelasi fisier PhotoShop ( PSD), iar in aceasta parte a tutorialului vei mai

    slefui layout-ul putin pana cand, in final, va arata ca design-ul pe care incerci sa-l redai. In prima

    parte a ghidului am creat partea de sus a meniului, in timp ce partea a 2a va incepe cu logo-ul si

    sloganul de sub meniu.

    Logo-ul si Tagline-ul

    Primul element grafic important este reprezentat de logo si slogan asa cum sunt ele reproduse in

    Figura2:

    Ca in cazul oricarui element grafic, ar trebui sa gasesti metode prin care sa poti repeta anumite

    sectiuni pentru a reduce marimea fisierului. Din pacate, pentru acest element nu exista o sectiune

    uniforma care sa poata fi repetata deoarece exista un efect care acopera intreg layout-ul. De

    asemenea, exista colturi rotunjite si margini ingrosate de care trebuie sa tii cont, iar numarul de

    imagini folosite ar fi prea mare.

    E timpul sa faci un compromis. Pentru a simplifica lucrurile, poti include majoritatea elementelor intr-o

    singura imagine. Vei scoate logo-ul din partea stanga, precum si textul lorem ipsum din partea

    dreapta, ramanand cu un fundal ca cel din Figura3:

    In acest mod, poti plasa log-ul companiei pe partea dreapta si il poti transforma cu usurinta intr-un

    link catre home page. Textul lorem ipsum a fost scos din imagine pentru ca e posibil sa se schimbe

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    14/47

    de la o pagina la alta de-a lungul site-ului si e mai bine sa poata fi mai usor de inlocuit pe viitor. Textul

    e cu siguranta grafic si, pentru ca face parte din logo, il vei plasa drept imagine, dar vei folosi anumite

    tehnici de inlocuire a textului astfel incat continutul sa fie in continuare disponibil atat pentru

    motoarele de cautare cat si pentru vizitatorii site-ului. Imaginea va trebui aranjata pentru a se potrivi

    exact cu fundalul, dar asta nu ar trebui sa fie prea dificil pentru ca poti compara pozitiile cu cele pe

    care le-ai taiat din PSD.

    Imaginea din figura 3 va fi incarcata ca fundal (background), iar logo-ul va fi amplasat deasupra ei.

    Dupa cum am mentionat, textul lorem ipsum va fi o imagine, dar va avea si o alternativa text pentru

    utilizatori.

    Vei folosi un element numit #tagline (slogan) ce va contine logo-ul si sloganul, iar pentru asta trebuie

    sa creezi un element de dimensiunile corecte pentru a cuprinde intreaga imaginea de fundal. Ai nevoie

    si de un efect de suprapunere datorita graficii din partea dreapta a imaginii, care se ridica odata cu

    textul. Acest lucru se poate implementa printr-un margin top negativ al #tagline-ului, ce va deplasa

    imaginea in sus, pozitionand-o langa meniu. Pentru a evita anumite probleme de nivel, vei stabili

    position:relative pentru meniu si #tagline, apoi vei initializa z index-ul pentru fiecare parte, astfel incat

    meniul sa aiba un z-index mai mare, aflandu-se deasupra fundalului si elementului #tagline.:

    CSS

    ul#nav{

    position:relative;

    z-index:2

    }

    #tagline{

    width:975px;

    height:116px;

    margin:-40px000;

    background:url(images/tagbg.jpg) no-repeat00;position:relative;

    z-index:1

    }

    Retine ca doar elementele pozitionate pot avea un z index aplicat, asa ca trebuie sa adaugi

    position:relative daca elementul nu este deja pozitionat.

    Metoda de inlocuire a imaginii pe care o vei folosi consta in pozitionarea imaginii intr-un element

    intern, adus ulterior deasupra continutului text pentru a-l ascunde. Atat timp cat stabilesti o

    dimensiune potrivita cu inaltimea si latimea imaginii, poti initiliaza overflow cu hidden, iar orice text

    care da pe afara va fi ascuns. Acest lucru face ca textul sa fie disponibil chiar daca imaginile sau

    CSS-ul ar fi oprite. Dupa ce vei realiza acest lucru pentru logo si tagline, vei obtine urmatorul codHTML si CSS:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    15/47

    HTML

    Sanke PhotographySanke Photography

    simply the best for your photography tutorials

    CSS

    /* codul pentru slogan */

    #tagline{

    width:975px;

    height:116px;

    margin:-40px000;

    background:url(images/tagbg.jpg) no-repeat00;

    position:relative;

    z-index:1

    }

    #taglinea,#taglineaem{

    position:absolute;

    width:218px;

    height:68px;

    overflow:hidden;

    left:27px;

    top:39px;

    }

    #taglineaem{

    cursor:pointer;

    left:0;

    top:0;

    /*background:url(images/logo.jpg) no-repeat 0 0; foloseste asta ca o

    alternativa pentru o imagine in html*/

    }

    #taglinespan,

    #taglinespanem{

    position:absolute;

    width:383px;

    height:51px;

    overflow:hidden;

    left:408px;

    top:51px;

    }

    #taglinespanem{

    left:0;

    top:0;background:url(images/tagline.jpg) no-repeat00;

    }

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    16/47

    In el am adaugat cursor:pointer pentru a reaminti browserului IE ca se afla inca in interiorul unui link

    si trebuie sa redea cursorul corect. Daca te uiti cu atentie la codul html, vei vedea ca h1 nu are nici un

    atribut de stil si de aceea poti sa renunti la div-ul care il contine si poti aplica ID-ul direct pe h1, dupa

    cum urmeaza. Pur si simplu copiaza atributul ID in h1 si sterge tag-ul div.

    HTML

    Sanke PhotographySanke

    Photography simply the best for your photography tutorials

    Singura schimbare in CSS este sa scoti urmatorul cod care acum devine redunant:

    CSS

    #taglineh1{

    margin:0;

    }

    Layout-ul realizat pana acum poate fi vazut

    aici si ar trebui sa verifici daca este acelasi cu al tau. Figura 4 iti arata rezultatele muncii tale de pana

    acum:

    http://www.e-learn.ro/includes/tutorials/web_design/HTML/257/images/sanke.jpg
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    17/47

    Totul arata destul de bine, dar in acest punct ar fi indicat sa verifici pagina pe cat mai multe browsere,

    pentru a te asigura ca totul functioneaza corect. Ar trebui sa incerci si sa maresti textul pentru a

    vedea daca exista vreo suprapunere inacceptabila. E de asteptat sa existe mici probleme legate de

    redimensionarea textului, dar ar trebui sa incerci sa pastrezi intotdeauna pagina operationala in limite

    rezonabile.

    Figura 5 arata textul cu o dimensiune mai mica sau mai mare in IE6:

    Casuta Search si imaginea de fundal

    Avansand catre urmatorul element compus din casuta search si imaginea principala din header,

    trebuie ca in primul rand sa te decizi asupra calitatii acestei imagini. E vorba de o imagine mare ce va

    genera un fisier cu o marime considerabila. Te sfatuiesc sa o micsorezi la 50k (desi si asa e mult), dar

    initial ar fi avut de 4 ori mai mult. Deoarece e vorba de un site de fotografie e recomandat sa folosesti

    imagini de o calitate buna; cel mai bine ar fi sa imparti imaginea si sa realizezi 2 versiuni, in cazul in

    care clientul va dori mai tarziu o calitatea mai buna a pozelor. Foloseste in site imaginea cu

    dimensiunea mai redusa, dar salveaza si o copie a acesteia la o calitate superioara.

    Scoate casuta search din imagine si ajusteaz-o la dimensiunile potrivite. Daca iti arunci privirea in jos

    pe pagina, vei vedea ca elementele urmatoare au colturile rotunjite si marginile ingrosate, iar pentru a

    economisi timp poti include partea de sus a elementului urmator in imaginea casutei search.

    Rezultatul va fi cel din Figura6:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    18/47

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    19/47

    Cele 3 coloane principale

    Putem trece la lucruri mai complicate si anume, la partea principala a site-ului ce contine 3 coloane

    de-a lungul ecranului. Va trebui sa iei in considerare urmatoarele 3 lucruri importante.

    Fiecare coloana contine un gradientul vertical care se estompeazaCele 3 coloane vor avea acceasi inaltime

    Coloana din dreapta are un colt rotunjit din partea de jos

    Pentru punctul 1, poti alege una dintre urmatoarele variante: din fiecare coloana poti taia o sectiune

    verticala de apx. 5px pe 250px ce va contine intreg gradientul. Apoi va trebui sa repeti aceasta

    imagine in fiecare din cele 3 coloane inserate. Singura problema cu aceasta metoda e faptul ca PSD-ul

    arata de asemenea si un mic gradient orizontal, precum si colturi ingrosate care se decoloreaza. Daca

    ai continua cu aceste mici bucati, vei avea nevoie de cel putin inca 4 imagini pentru fiecare colt si va

    trebui sa renunti la gradientul orizontal.

    A doua solutie consta in realizarea unor imagini cu intreg fundalul unei coloane. Cu toate ca la prima

    vedere aceasta metoda ar putea parea oarecum brutala si neoptimizata, in realitate poti taia o

    imagine destul de mare de 975px x 270px, micsorandu-i in schimb calitatea pana obtii un fisier de

    aproximativ 3k. Desi imaginea originala va pierde putin din culoare, vei salva multiple imagini de

    fundal si te vei apropia mai mult de design-ul original. Rezultatele acestei metode le poti vedea in

    Figura 8. Ca si pana acum, imaginea contine si o portiune din fundalul paginii, pentru a reda efectul de

    intunecare din background.

    Punctul 2 poate fi rezolvat prin crearea unei bucati orizontale cu toate culorile celor 3 coloane,

    repetand-o ca imagine de fundal pentru sectiunea ce le contine. Pentru a crea aceasta felie, asigura-

    te ca ea include culoarea finala a gradientului vertical. Vei avea urmatoarea imagine ca rezultat:

    Aceasta imagine va fi repetata pe axa y si va umple intreaga inaltime a coloanelor, ce vor ramane

    mereu egale una cu cealalta. Apoi, in partea de sus a acestei sectiuni poti incarca imaginea cu

    gradientul din Figura8, obtinand astfel efectul pe care l-ai dorit. Desigur, pentru cea de-a doua

    imagine de fundal va trebui sa introduci un nou element, dar compromisul este unul mic raportat la

    efectul obtinut.

    Pe masura ce pagina se mareste, bucata care se repeta in background isi intra in rol, iar daca ai taiat

    imaginile corect ar trebui ca trecerea dintre cele doua imagini sa nu se observe.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    20/47

    Asadar, codul html este urmatorul:

    HTML

    Elementul nou numit #content a fost adaugat pentru a incarca imaginea mare cu gradientul, in timp

    ce #main va include bucata ce se repeta. #content va contine de asemenea si cele 3 coloane. Codul

    CSS folosit va fi urmatorul:

    CSS

    #main,#content{width:975px}#main{background:url(images/3col-bg.jpg) repeat-y00}

    #content{

    background:url(images/3col-top.png) no-repeat00;

    min-height:270px;

    }

    html#content{height:270px}/* pentru ie6 si mai putin*/

    Am introdus o rectificare pentru IE6 si versiunile mai vechi deoarece acesta nu recunoaste atributul

    min-height, dar, din fericire, intepreteaza height intr-un mod asemanator cu min-height. In acest caz

    ai nevoie de min-height din cauza gradientului vertical si daca nu vei aloca o inaltime suficienta,

    imaginea de fundal se va repeta dintr-o sectiune care nu corespunde. Rezultatele codului de mai sus

    pot fi vazute in Figura 10:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    21/47

    Pentru a permite continutului sa fie introdus in aceste coloane trebuie sa le masori si sa aplici

    marginile necesare float-urilor pentru a le alinia acolo unde doresti:

    CSS

    #col1{

    width:207px;

    margin:028px018px;

    display:inline;/* cure IE6 double margin bug*/

    float:left;

    }

    #maincol{

    width:444px;

    margin:048px00;

    float:left;

    }

    #col2{

    width:180px;

    float:left;

    margin:050px00;display:inline;/* cure IE6 double margin bug*/

    }

    Trebuie sa te asiguri ca toate aceste dimensiuni incap in containerul tau, in caz contrar, diferitele

    sectiuni vor fi pozitionate gresit. Ai 975px la dispozitie, iar daca adunam marginile si latimile div-urilor,

    obtinem tot 975 px. De asemenea, exista si o rectificare in codul pentru IE6, care va dubla marginile

    div-urilor in locul in care partile laterale intalnesc containerul parinte. Aceasta rectificare consta in

    adaugarea optiunii display:inline. Div-urile sunt de tipul display:block si nu pot fi transformate in

    display:inline, ceea ce inseamna ca reparatia e de fapt absurda si nu va avea nici un efect, dar din

    fericire va vindeca bug-ul. Alte browsere nu vor lua in considerare display:inline.

    Tot ce a ramas (grafic vorbind) pentru aceasta sectiune este adaugarea unui colt rotunjit in partea de

    jos a coloanei din dreapta, dupa cum se vede in design-ul original. In plus, trebuie sa observi ca

    intreaga pagina mai cuprinde inca 2 colturi. Nu exista nici o cale prin care sa gasesti partea de jos a

    coloanei din dreapta pentru a plasa o imagine rotunjita acolo, deoarece continutul acestei coloane este

    doar un div cu inaltime. Asadar, va trebui sa abordezi altfel problema si sa folosesti o imagine de

    fundal in elementul footer.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    22/47

    Footer-ul

    Vei taia baza celor 3 coloane intr-o singura imagine, ca cea din Figura 11:

    Codul CSS e usor de inteles:

    #footer{

    width:975px;

    padding:20px000;

    background:url(images/3col-base.jpg) no-repeat00;

    clear:both;

    }

    HTML:

    Poti arunca o privire la layout-ul realizat pana acum; cele 3 coloane sunt colorate in rosu pentru a

    verifica daca pozitiile sunt corecte:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    23/47

    Totul arata bine, deci poti inlatura culoarea rosie.

    Ce a mai ramas de facut

    Cu acest tutorial am dus la bun sfarsit structura principala a site-ului. In urmatoarea parte a articolului

    vom adauga continut fiecarei coloane, impreuna cu partea de search pe care momentan am lasat-o

    deoparte. In plus, va trebui sa gasesti o cale prin care sa plasezi imaginea watermark din figura 13 in

    partea de jos a coloanelor externe.

    http://www.e-learn.ro/includes/tutorials/web_design/HTML/257/images/sanke2.jpg
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    24/47

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    25/47

    Ghid HTML in pasi simpli de la PSD catre

    CSS (Partea a III-a)

    Bun venit la cel de al 3 tutorial din seria de 4 care te invata cum sa transformi un psd in css/html. In

    prima si a doua parte a acestui articol ai creat o parte din elementele esentiale care te vor ajuta in

    aranjarea continutului. Acest tutorial se va axa pe coloana din stanga care este mai dificila si pe intreg

    continutul ei.

    In momentul de fata ai ajuns aici:

    Figura 14

    Comparat cu PSD-ul original din figura 15, poti vedea ca mai ai destul de mult de lucru:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    26/47

    Figura 15

    Elementele pe care le vom aborda in partea a III-a si a IV-a sunt urmatoarele:

    Pozitionarea imaginii watermark la baza coloanelor din stanga si din dreapta

    Adaugarea casutei de cautare deasupra imaginii din sectiunea header

    Adaugarea de continut celor 3 coloane impreuna cu iconitele asociate

    Adaugarea mesajului copywright in footer

    Majoritatea lucrurilor de mai sus tin de cunostiinte CSS de baza, iar singurele 2 lucruri care ar putea

    pune probleme sunt imaginile watermark care stau la baza coloanelor din stanga si din dreapta. Restul

    continutului va fi abordat pas cu pas pentru a fi cat mai usor de inteles.

    Watermark-ul

    Prima cerinta va fi sa plasezi urmatoarea imagine la baza coloanelor externe:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    27/47

    Figura 16

    Exista o serie de probleme care trebuiesc depasite si e mai bine sa le enumeram pentru a avea o ideecat mai clara de ceea ce trebuie sa obtii.

    Intr-o ordine oarecare, trebuie:

    Sa plasezi imaginea in partea de jos a coloanei astfel incat sa ramana mereu acolo, indiferent

    de lungimea coloanei

    Sa te asiguri ca imaginea se afla in fundal si sub text

    Sa te asiguri ca imaginea se afla deasupra fundalului existent, iar tranzitia dintre ele nu este

    vizibila.

    Punctul 1 presupune abordarea problemei intr-o maniera creativa, deoarece coloanele nu au inaltime

    in realitate, ele fiind create printr-o imagine de fundal in container-ul parinte. Asadar, va trebui sa

    urmezi exemplul stabilit in prima parte a tutorialului, pozitionand watermark-ul relativ la un element

    aflat sub coloane, adica elementul footer.

    Deoarece footer-ul are deja o imagine de fundal, deci nu ii putem adauga inca una. De aceea,

    imaginile vor fi pozitionate in mod absolut fata de footer, folosind o valoare negativa pentru top,

    pentru a le aduce la locul dorit.

    Pentru cea de-a doua problema, va trebui sa te asiguri ca fiecare element are setat nivelul (level) z-

    index corespunzator pentru a putea controla nivelurile fondului initial, al imaginii watermark plasata

    absolut si al continutul textual, ceea ce inseamna ca trebuie sa ai in vedere 3 nivele in acest proces.

    Pentru ca z-index-ul sa functioneze trebuie sa te asiguri ca elementele nepozitionate sunt setate pe

    position:relative, ceea ce iti permite sa asezi elementele ce au coordonate absolute.

    Pentru punctul 3 va trebui sa faci mai multe incercari pentru a putea vizualizare care din ele arata cel

    mai bine. Una dintre metodele folosite consta in crearea unui gif cu un fond transparent. Acest fond va

    fi verde pentru a corespunde culorii de fundal, dar va fi setat drept culoare transparenta in speranta ca

    va ascunde imaginile decupate din gif-ul transparent.

    Daca aceasta metoda esueaza, e posibil sa fie nevoie sa folosesti un PNG transparent si un filtru de

    incarcare a imaginii de tip alpha pentru IE,.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    28/47

    In abordarea punctului 3 am creataceasta imaginepentru coloana din stanga siaceastapentru coloana

    din dreapta prin taierea elementelor potrivite din PSD.

    Pentru a pozitiona imaginea (punctul 1 si 2), mai intai, footer-ul trebuie sa contina atributul

    position:relative pentru a crea o stiva si pentru a-ti permite sa setezi un z-index corespunzator. Pentru

    a fi sigur ca imaginea ramane deasupra continutului de mai sus ii vei stabili continutului z-index-ul 1 sifooter-ului un z-index 2.

    Apoi, pentru coloanele ce vor fi inserate de-a lungul ecranului poti seta un z-index 3 pentru a mentine

    textul deasupra imaginii watermark. Inca nu exista imagini sau culori de fundal pe coloanele propriu-

    zise, deci nu trebuie sa iti faci probleme. Codul CSS necesar e urmatorul:

    /* continutul principal */

    #main,#content{width:975px}

    #main{

    background:url(images/3col-bg.jpg) repeat-y00;

    position:relative;

    z-index:1;

    }

    #content{background:url(images/3col-top.png) no-repeat00;

    min-height:270px;

    }

    *html#content{height:270px}/* pentru ie6 si versiunile anterioare*/

    #col1{

    width:207px;

    margin:028px018px;

    display:inline;/* remediaza bug-ul IE6 double margin */

    float:left;

    position:relative;

    z-index:3;

    }

    #maincol{width:444px;

    margin:048px00;

    float:left;

    position:relative;

    z-index:3;

    }

    #col2{

    width:180px;

    float:left;

    margin:050px00;

    display:inline;/* remediaza bug-ul IE6 double margin */

    position:relative;

    z-index:3;

    }/* footer si copyright */

    #footer{

    width:975px;

    padding:20px000;

    background:url(images/3col-base.jpg) no-repeat00;

    clear:both;

    position:relative;

    z-index:2;

    }

    http://csshowto.com/sanke-photography/images2/flame2.gifhttp://csshowto.com/sanke-photography/images2/flame2.gifhttp://csshowto.com/sanke-photography/images2/flame2.gifhttp://csshowto.com/sanke-photography/images2/flame3.gifhttp://csshowto.com/sanke-photography/images2/flame3.gifhttp://csshowto.com/sanke-photography/images2/flame3.gifhttp://csshowto.com/sanke-photography/images2/flame3.gifhttp://csshowto.com/sanke-photography/images2/flame2.gif
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    29/47

    .watermark{

    background:url(images2/flame2.gif) no-repeat00;

    position:absolute;

    width:186px;

    height:209px;

    clear:both

    }

    .w1{left:45px;top:-189px}

    .w2{

    right:45px;

    top:-170px;

    height:176px;

    background:url(images2/flame3.gif) no-repeat00;

    }

    Codul CSS in plus a fost imbinat cu cel existent dupa cum se arata mai sus. Ceea ce trebuie sa observi

    e folosirea unei clase "watermark" ce defineste cateva proprietati consecvente pentru elemente si a

    claselor "w1" si "w2" pentru a implementa diferentele de pozitie. Aceste lucruri inlocuiesc aproximativ

    4 linii de cod, dar merita aplicate deoarece orice lucru care reduce marimea codului sursa e bun, atat

    timp cat e usor de citit si functionalitatea nu a avut de suferit. Clasele sunt aplicate impreuna folosind

    un spatiu pentru a le separa. De exemplu:

    e.g. class="watermark w1"

    Poti folosi oricate clase doresti in aceasta maniera, daca le separi printr-un spatiu, tinand cont ca

    prioritate vor avea cele de la sfarsitul listei.

    Nu avem elemente fara continut ce ar putea fi folosite pentru watermark, deci va trebui sa adaugi 2

    div-uri goale, pe care le vei pozitiona ulterior. Codul html e urmatorul:

    Rezultatele din Firefox sunt aratate si in Figura 17:

    Chiar daca atunci cand sunt privite individual imaginile arata iesite din context, sau ca si cum ar fi in

    zig-zag, se poate vedea ca in momentul in care sunt plasate in fundal, marginile par netede si se

    imbina cu fondul.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    30/47

    Daca doresti imagini mai pronuntate, le poti folosi pe cele tip PNG, avand in vedere si codul

    suplimentar pentru IE6 mentionat mai devreme.

    Cei care folosesc IE6 sau o versiune anterioare vor observa o problema. Partea de jos a layout-ului

    (care inainte era buna) s-a strambat dupa cum se poate vedea in figura 18 si are nevoie de retusuri:

    Figura18

    Modul cel mai usor prin care poti vedea ce anume cauzeaza problema este sa iti refaci pasii si sa

    retragi cate un element pe rand, pana cand afli ce a declansat eroarea. De aceea trebuie sa iti verifici

    munca la fiecare stadiu in diferite browsere sau ai putea sa construiesti o intreaga pagina fara aobserva aceasta neregularitate. Pentru a afla unde ai gresit trebuie sa faci cateva teste.

    Primul pas consta in stergerea celor 2 div-uri cu watermark din HTML, deoarece cel mai probabil ele

    sunt vinovate. Prin retragerea lor si prin verificarea in IE se arata ca totul a revenit la normal. Acum ca

    stii care este problema trebuie sa gasesti o metoda prin care sa faci ceea ce vrei fara sa umbli la

    setarile IE6.

    Pentru a testa faptul ca exista o anumita portiune de cod care declanseaza eroarea, trebuie sa pui la

    loc codul HTML pentru cele 2 div-uri, apoi sa stergi pe rand stilurile aferente lor. In curand, vei vedea

    ca poti sa stergi toate stilurile care fac referinta la watermark, dar eroarea nu va disparea.

    Acest lucru duce la concluzia ca problema este HTML-ul adaugat. Deja stii ca prin scoaterea HTML-ului

    layout-ul va reveni la pozitia corecta. Problema este ca IE6 nu admite faptul ca ai plasat div-uri goale

    in footer, avand in vedere toare clasele aplicate momentan. Solutia este simpla si tot ceea ce ai de

    facut este sa te asiguri ca footer-ul are un continut si imaginea va reveni. Daca adaugi un rand de text

    care va deveni intr-un final mesajul copyright,vei vedea ca totul revine la normal.

    This is a copyright message

    Acum in IE6 arata totul corect; poti continua cu testarea prin adaugarea de continut celor trei coloane,

    prin a verifica daca distributia nivelurilor este corecta si ca totul se suprapune asa cum trebuie.

    Preluand continutul text din PSD si introducandu-l in HTML (nearanjat si neformatat momentan) poti

    testa layout-ul de pana acum. Din pacate, codul de pana acum contine ceva gresit deoarece layout-ul

    s-a suprapus incorect, dupa cum se poate vedea in imaginea urmatoare:

    http://csshowto.com/sanke-photography/section-05.htmhttp://csshowto.com/sanke-photography/section-05.htmhttp://csshowto.com/sanke-photography/section-05.htmhttp://csshowto.com/sanke-photography/section-05.htm
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    31/47

    Figura 19

    Greseala consta in atribuirea gresita a z-index-ului elementelor, iar watermark-ul se afla acum

    deasupra continutului textual. Revenind la planul original, ai setat continutul (#main) la un z-index 1

    si footer-ul la un z-index 2, dand coloanelor un z-index 3. Desi suna logic, acest lucru este gresit

    deoarece coloanele sunt incluse in #main, care are z-index 1. In concluzie, z-index-ul parinte este cel

    care determina nivelul tuturor copiilor sai in relatie cu alte elemente din afara. Ai fi putut sa aloci

    coloanelor un z-index de 100.000, dar ar fi fost in zadar. Deoarece footer-ul are z-index:2 si se afla in

    afara #main, el va fi intotdeauna deasupra acestuia si a tuturor copiilor sai.

    O solutie la aceasta problema este stergerea atributului z-index din #main si modificarea tuturor

    copiilor astfel incat sa aiba acelasi parinte (#outer). Acest lucru va rezolva problema in majoritatea

    browser-elor dupa cum se arata in imaginea Firefox de mai jos:

    Figura 20

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    32/47

    Inca odata ai problema in IE care este valabila pana la IE7. Watermark-ul inca apare deasupra

    textului, chiar daca ai scos z-index-ul din #main. Problema este ca IE aloca incorect un z-index 0 in

    momentul in care un element este pozitionat, in loc sa ii aplice o valoare auto, dupa cum este

    mentionat in speficatiile CSS. Asta inseamna ca IE va crea mereu un o stiva locala pentru diferitele

    elemente copii, ceea ce cauzeaza problemele pe care le-ai intalnit.

    Pentru a combate acest comportament trebuie sa scoti position:relative din #main. Asta va corectaafisarea pe IE si abia acum vei vedea rezultatul din figura 20.

    Singurul dezavantaj al acestui lucru e faptul ca acum nu mai poti plasa elemente avand coordonate

    absolute in raport cu #main. Cum momentan nu este nevoie sa faci asta, vei ramane la acest cucod

    final, pe care ar trebui sa il compari cu al tau.

    Coloana 1

    Acum ca am definit watermark-ul si problemele de stratificare, ne vom axa asupra activitatii de rutina,

    respectiv, stilizarii continutului din coloane. Deja ai un html functional, trebuie sa il formatezi si

    stilizezi corect. Pentru a vedea rezultatul la care trebuie sa ajungi, arunca o privire pe figura 21:

    http://reference.sitepoint.com/css/z-indexhttp://reference.sitepoint.com/css/z-indexhttp://csshowto.com/sanke-photography/section-07.htmhttp://csshowto.com/sanke-photography/section-07.htmhttp://csshowto.com/sanke-photography/section-07.htmhttp://csshowto.com/sanke-photography/section-07.htmhttp://csshowto.com/sanke-photography/section-07.htmhttp://csshowto.com/sanke-photography/section-07.htmhttp://reference.sitepoint.com/css/z-index
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    33/47

    Lucrurile pe care tebuie sa ti le insusesti in aceasta sectiune sunt urmatoarele:

    Crearea unui heading la nivelul corespunzator si cu un font cat mai apropiat, pentru a

    corespunde cu PSD-ul (sau folosirea unei imagini, daca nu gasesti un font potrivit);

    Taierea componentelor grafice din PSD. (de exemplu: iconite diferite, linia de dedesubt,

    fotografia);Pozitionarea elementelor respectand spatierea si marginile pentru a corespunde design-ului.

    Singura sarcina ce ar putea parea complicata, va fi plasarea icon-ului care apare inaintea textului

    lorem ipsum. Ai putea folosi o imagine de fundal pentru aceasta la inceputul randului, dar ar trebui sa

    te asiguri ca randul este destul de inalt pentru a arata imaginea iar continutul nu apare deasupra

    acesteia . Chiar daca ai putea face acest lucru cu padding, ar insemna ca toate randurile vor avea

    aceeasi inaltime cu imaginea, ceea ce nu este o idee atat de buna.

    O a doua abordare ar fi inserarea imaginii in fundalul unui element cu dimensiuni corespunzatoare,

    ceea ce ar permite textului sa se desfasoare. Va fi nevoie sa introduci un span si sa-i aplici stilurile

    corespunzatoare. Singurul dezavantaj ar fi ca toate dimensiunile vor trebui sa fie specificate si

    adresate corect pentru ca imaginea sa se incadreze corect.

    O a treia varianta ar fi simpla folosire a unei imagini in html. E mult mai usor sa folosesti o imagine in

    HTML, deoarece nu necesita cod aditional sau un mark-up pentru a o plasa corect. Atat timp cat

    imaginea este inline, ii poti controla alinierea pe verticala si , daca este nevoie, poate fi transformata

    cu usurinta intr-un link. De asemenea, faciliteaza accesibilitatea in sensul ca poti folosi atribute alt

    care nu sunt disponibile pentru o imagine de fundal.

    Heading-uri

    Primul lucru care trebuie observat este faptul ca designerul a folosit din nou un font care nu este

    browser-friendly, iar tu trebuie sa gasesti un inlocuitor cat mai apropiat sau sa folosesti o imagine.

    Este mult mai bine sa ai heading-ul ca text in HTML, deoarece se lucreaza mult mai usor cu el. Poti

    folosi Arial intr-un heading H3, pentru ca se poate dovedi a fi un nivel corect pentru aceasta coloana.

    Se pare ca acest stil este consecvent, asa ca voi stiliza h3 direct fara nevoia unei clase. Se poate

    observa ca coloana 1 (#col1), este usor plasata gresit si va trebui sa o aliniezi printr-o mica modificare

    a marginilor. Codul CSS revizuit este urmatorul:

    #col1{

    width:207px;

    margin:021px025px;

    display:inline;/* remediaza bug-ul IE6 double margin */

    float:left;

    position:relative;z-index:3;

    Urmeaza clasa extra pentru elementul H3:

    h3{

    color:#fff;

    text-transform:uppercase;

    font-style:italic;

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    34/47

    font-weight:bold;

    font-family: Arial, Verdana, Helvetica, sans-serif;

    font-size:131%;

    margin:6px010px0;

    letter-spacing:-.04em;

    }

    Folosind spatierea dintre litere pentru a scurta putin latimea textului se ajunge la o versiune care este

    asemanatoare PSD-ului. Figura 22 contine o comparatie intre versiunea HTML a ta (cea de sus) si

    heading-ul original PSD de mai jos:

    Desi exista unele diferente, este mai bine sa folosesti un text normal decat imagini si tehnici de

    inlocuire a imaginii.

    Daca te uiti la cele 3 elemente de sub heading-ul Latest News, poti observa ca ele au o structura

    asemanatoare cu a unei liste structurate. Iconitele si underline-ul vor trebui sa fie decupate ca GIF-uri

    transparente pentru ca sunt folosite pe fonduri diferite. Te vei intalni din nou cu problema imaginii

    pixelate, dar daca iti alegi culorile transparente cu atentie nu vei avea probleme. Poti gasi trei imagini

    de care vei avea nevoie pentru sectiunea urmatoare aici.

    Page icon

    Underline

    Photo of the month

    Randurile de text sunt spatiate, asa ca vei folosi line-height (inaltimea liniei) pentru a le spatia corectsi margini si padding pentru a crea spatiu in jurul lor. Va trebui sa pui underline-ul ca fundal in

    elementul p, sa-l plasezi central si in partea de jos, ceea ce inseamna ca vei avea nevoie de padding

    bottom pe elementul p pentru ca aceasta imagine sa aiba spatiu de afisare. Codul html pentru

    sectiunea de sus arata acum astfel:

    Latest News

    Lorem ipsum dolor sit amet, consectetuer adipiscing

    elit.

    Nam magna lectus, dapibus ut, ultrices at, fermentum eget,

    ligula.

    Lorem ipsum dolor sit amet, consectetuer

    adipiscing elit.

    Read All News

    http://csshowto.com/sanke-photography/images2/page-icon.gifhttp://csshowto.com/sanke-photography/images2/page-icon.gifhttp://csshowto.com/sanke-photography/images2/underline.gifhttp://csshowto.com/sanke-photography/images2/underline.gifhttp://csshowto.com/sanke-photography/images2/month1.jpghttp://csshowto.com/sanke-photography/images2/month1.jpghttp://csshowto.com/sanke-photography/images2/month1.jpghttp://csshowto.com/sanke-photography/images2/underline.gifhttp://csshowto.com/sanke-photography/images2/page-icon.gif
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    35/47

    Sectiunea de sus se afla in interiorul unui div, iar imaginea icon este in html. Linia este o imagine

    plasata in fundalul elementului p, dupa cum a fost mentionat mai sus. Sageata dubla a fost pusa in

    interiorul unui span pentru ca ea va avea culoarea alba in comparatie cu restul textului care este

    negru. Pentru a implementa aceasta, am definit o clasa span prin intermediul clasei parinte, fara a fi

    nevoie sa mai adaugam o alta denumire de clasa. Acest lucru este posibil deoarece nu avem mai

    multe clase span in interiorul containerului .news.Altfel, ar fi trebui sa folosesti o alta denumire pentru acest span. In cazul nostru nu este nevoie de

    asta, asa ca poti utiliza urmatorul cod CSS:

    .newsspan{color:#fff}

    Pentru ultima linie din aceasta sectiune am adaugat o clasa readmore pentru ultima linie care este

    aliniata la dreapta si ingrosata. Aceasta clasa a fost creata separat deoarece e posibil ca ea sa fie

    folosita si in alte sectiuni.

    Daca te uiti cu atentie la codul html de mai sus, vei vedea ca s-a aplicat o clasa numita last ultimului

    paragraf din acea sectiune deoarece el nu este subliniat, asadar trebuie sa scoti imaginea din ultimul.

    Nu poti folosi selectorul css3 :last:child deoarece nu e compatibil cu IE si va trebui sa adaugi o alta

    clasa elementului in cauza. Pentru a muta textul catre dreapta trebuie sa aplici elementului p text-

    align:right si astfel se completeaza mai mult sau mai putin sectiunea de sus. Codul CSS complet

    pentru aceasta sectiune este:

    .news{

    width:207px;

    color:#252e1c;

    }

    .newsp{

    font-size:85%;

    background:url(images2/underline.gif) no-repeatcenterbottom;padding:07px8px0;

    line-height:1.4em

    }

    .newsp.last{

    background:none;

    padding-bottom:1px;

    margin:00.4em0;

    }

    .newspimg{

    margin-right:2px;

    vertical-align:middle;

    display:inline;

    }

    .newsspan{color:#fff}

    p.readmore{

    font-weight:bold;

    text-align:right;

    margin:001.4em0;

    background:none;

    }

    p.readmorea{

    text-decoration:none;

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    36/47

    color:#252e1c;

    }

    p.readmorea:hover{

    text-decoration:underline;

    }

    Observa ca imaginea page-icon a fost declarata ca inline si se comporta ca text. Pozitia pe verticalaa fost setata la mijloc astfel incat este pozitionata corect in raport cu textul.

    .newspimg{

    margin-right:2px;

    vertical-align:middle;

    display:inline;

    }

    Desi imaginile sunt declarate ca inline, in stylesheet-ul global ai setat toate imaginile ca fiind implicit

    block, ceea ce inseamna ca trebuie sa le readuci la optiunea inline aici.

    Urmatoarea activitate tine de sectiunea Photo of the Month care foloseste acelasi stil de heading sitext ca si cea precedenta. Astfel, poti refolosi clasa news in aceasta portiune, dar trebuie sa si

    adaugi o alta clasa (separata de spatiu) pentru a rescrie cateva diferente de programare in aceasta

    sectiune.

    Daca studiezi figura 21 de mai sus, vei vedea ca sectiunea Photo of the Month este deplasata catre

    stanga cu aproximativ 7 px in comparatie cu sectiunea news de mai sus. Pentru aceasta, poti folosi

    pozitionarea relativa in loc de margini. Iata cum se poate folosi pozitionarea fara a modifica layout-ul:

    .photo{

    position:relative;

    left:-6px;

    }

    Acest cod va muta elementul cu 6px la stanga fata de pozitia sa initiala, fara a modifica structura

    documentului. Totusi, daca ai fi mutat elementul in josul paginii folosind pozitionarea relativa, ai fi

    observat ca s-ar fi suprapus peste alte elemente. Position:relative muta elementele doar vizual, nu si

    fizic. Ele isi ocupa mereu locul original in pagina, doar par sa fie in alta parte. In ceea ce priveste alte

    elemente, acesta nu s-a mutat deloc.

    De aceea trebuie sa fii atent daca folosesti atributul position:relative, intrucat nu e potrivit pentru

    structurarea unui layout, ci doar pentru efecte mai subtile .

    Daca vrei sa muti un element, de cele mai multe ori vei folosi marginile pentru ca astfel se vor

    mentine alte elemente la departare prin distanta specificata, iar alte elemente vor curge din nou inmod corespunzator.

    In aceasta sectiune photo vei intalni un alt heading identic cu cel din sectiunea news, deci vei folosi

    din nou h3, care e deja stilizat corect. Imaginea care urmeaza face parte din continut si nu ar trebui

    implementata ca background. Asa ca va trebui sa incluzi imaginea intr-un element p si sa o inserezi in

    pagina, dupa cum se arata mai jos:

    Photo of the month

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    37/47

    Criteriile prin care poti determina daca o imagine ar trebui folosita in fundal sau in prim-plan se

    rezuma la o simpla intrebare: este aceasta imagine doar de decor?

    Daca raspunsul e da si nu are legatura cu continutul, atunci ar trebui sa fie o imagine de fundal.

    Insa, daca imaginea e importanta pentru continut, atunci ar trebui sa fie in HTML si nu in fundal.

    Trebuie sa anulezi cateva stiluri care au fost aplicate prin intermediul clasei news deoarece aceasta

    sectiune nu are nici o linie in partea de jos , iar spatierea pentru H3 e usor diferita. Astfel, vei folosi

    clasa photo si vei rescrie cateva atribute, dupa cum urmeaza:

    .photoh3{margin-bottom:8px}

    .photop{background:none}

    Tot acum ti se ofera sansa de a refolosi clasa readmore pe care o poti aplica textului Visit Gallery.

    De asemenea, poti utiliza clasa last pentru a seta marginea corecta pentru partea de jos. Codul html

    complet pentru aceasta sectiune este:

    Photo of the month

    Lorem ipsum dolor sit amet,

    consectetuer adipiscing elit.

    Visit Gallery

    Acum poti compara versiunile PSD si HTML pentru aceasta sectiune:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    38/47

    Figura 23

    Exista cateva diferente de spatiere, dar chiar si asa, e destul de greu sa iti dai seama care e imaginea

    PSD originala....( e cea din stanga)

    Acum ar fi momentul sa verifici pagina in cat mai multe browsere, pentru a fi sigur ca totul

    functioneaza corect.

    Se poate observa in imaginea de mai sus ca ultimul paragraf al PSD-ului e usor mai indentat decat cel

    din versiunea ta, asa ca poti localiza paragraful care are deja clasa last aplicata si il poti corecta.

    .photop.last{padding-left:5px}

    Cu asta am terminat si partea a 3-a din aceasta serie de tutoriale. In ultima parte vei putea citi

    indicatiile necesare pentru a implementa coloana din dreapta din fisierul original PSD.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    39/47

    Ghid HTML in pasi simpli de la PSD catre

    CSS (Partea a IV-a)

    Acesta este ultimul tutorial din seria de 4 care te invata cum sa transformi un design PSD intr-o

    pagina de web complet operationala. In tutorialul precedent ai terminat lucrul la coloana din stanga,

    iar acum te vei concentra pe: coloana din dreapta si centru paginii, casuta search si repararea catorva

    bug-uri pentru IE.

    Coloana din dreapta

    Figura 24 iti arata ce trebuie sa realizezi in coloana din dreapta.

    Figura 24

    Va fi destul de usor, deoarece ai un heading (titlu) unde poti folosi stilul global H3, apoi o lista simpla,

    neordonata, cu sageti. Poti folosi >> pentru sageti pe care le vei incadra intr-un span ca si mai

    inainte, astfel incat sa le poti colora in alb. Tot ce mai ramane de facut este sa aranjezi elementele

    conform cu PSD-ul, ceea ce va fi destul de usor de realizat folosind marginile si padding-ulcorespunzator. Dupa ce stergi scoti continutul de test din coloana din dreapta, poti scrie codul html

    astfel:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    40/47

    Gallery Links

    Reviews

    Equipment

    Consultation

    Freelancing

    Tutorials

    Digital tips

    Observa ca pentru UL s-a folosit clasa gallery. Acest lucru nu era neaparat necesar deoarece am fi

    putut adresa lista folosind ID-ul coloanei, dar e foarte probabil ca acest tip de lista sa fie folosita si in

    alte pagini ale site-ului. In concluzie, este mai bine sa o definesti ca o clasa separata pe care sa o poti

    reutiliza. Restul codului CSS tine doar de pozitionare, codul complet fiind urmatorul:

    ul.gallery{margin:1em01em0}

    ul.galleryli{

    text-transform:uppercase;

    margin:001em0;font-size:77%;

    }

    ul.galleryli,

    ul.gallerylia{

    color:#252e1c;

    font-weight:bold;

    }

    ul.galleryliaspan{color:#fff}

    ul.gallerylia:hover{text-decoration:underline}

    Nu vei gasi nimic nou aici, in afara de faptul ca trebuie sa iti amintesti ca ai resetat toate marginile si

    padding-urile elementelor si de aceea nu trebuie sa iti faci griji in legatura cu faptul ca unele browsere

    aplica un padding implicit in partea stanga pentru bullet, iar altele folosesc un padding implicit pe

    partea dreapta.

    De asemenea, pentru a inlatura bullets ai specificat list-style:none, ce se aplica tuturor listelor. A mai

    fost introdus un efect de subliniere pe hover, care functioneaza drept un bun indiciu vizual si

    atentioneaza utilizatorul ca textul respectiv este de fapt un link. Daca verifici layout-ul in Firefox, el

    arata ca in figura 25:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    41/47

    Figura 25

    Totusi atunci cand se verifica in IE6 se poate vedea ca ceva nu a mers deloc bine.

    Figura 26

    Dupa cum se poate vedea in figura de mai sus, IE6 a pozitionat continutul coloanei din dreapta in

    centru. Care ar putea fi cauza acestei erori, avand in vedere ca mai devreme era totul in regula ?

    Primul lucrul pe care il poti incerca este scoaterea intregului cod HTML din coloana din dreapta si

    inserarea unui text oarecare pentru a verifica daca ceea ce a cauzat problemele a fost stilizarea

    coloanei din dreapta.

    Dupa verificare se pare ca nu exista nimic in codul coloanei din drepta care ar fi putut sa provoace

    aceasta neregularitate. Asadar, trebuie sa fi fost ceva ce s-a facut in coloana din stanga mai devreme.

    Aminteste-ti ca trebuia sa iti validezi codul si sa verifici in diferite browsere. Ai fi putut uita sa verificiIE6. Daca stergi treptat cate un rand din codul coloanei din stanga, afli ca atunci cand stergi urmatorul

    rand, totul revine la locul sau.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    42/47

    Daca verifici codul, devine clar faptul ca ai aplicat un padding elementului P care sustine imaginea si ai

    adaugat o margine in dreapta de 2 pixeli tuturor imaginilor din aceea sectiune. Spatiul disponibil este

    de 207px, iar imaginea are o latime de 206px la care se adauga o margine in dreapta de 2px. Nu uita

    ca ai aplicat un padding de 7px elementului P, ceea ce inseamna ca elementul are acum 8px si este

    prea mare pentru a se incadra in spatiul alocat. IE6 incearca sa compenseze acest lucru prin largirea

    parintelui (#col1), ceea ce demonstreaza ca nu exista destul de mult spatiu pe pagina pentru toatecoloanele.

    Poti fi sigur ca atunci cand o coloana s-a modificat in IE, fie un element este prea mare pentru a fi

    incadrat, fie exista un bug. Pentru a rezolva aceasta problema este nevoie sa adaugi o clasa

    elementului p care contine imaginea si sa miscorezi padding-ul elementului P si marginea imaginii

    imbricate.

    CSS

    .photop.month{padding-right:0}

    .photop.monthimg{margin:0}

    Acum IE6 va afisa corect. Inca odata poti compara codul tau cuacesta , inainte sa treci mai departe la

    urmatoarele puncte.

    Coloana din centru

    Arunca o privire la figura 15 din partea de sus a paginii pentru a-ti aminti cum este afisata coloana din

    centru (#maincol). Primul lucru de care trebuie sa te ocupi este heading-ul din aceasta sectiune, care

    pare sa fie aproape identic cu cele pe care le-am folosit in celelalte coloane. Acest lucru ne va ajuta sa

    economisim cateva linii de cod pentru ca poti sa adaugi un selector separat prin virgula stilurilor h3

    deja existente, astfel:

    CSS

    h2, h3{

    color:#fff;

    text-transform:uppercase;

    font-style:italic;

    font-weight:bold;

    font-family: Arial, Verdana, Helvetica, sans-serif;

    font-size:131%;

    margin:6px010px0;

    letter-spacing:-.04em;

    }

    h2{color:#120c0e;}

    Culoarea este apoi inlocuita imediat cu cea corecta si heading-ul devine automat stilizat. Trebuie sa

    creezi intotdeauna o structura logica in ceea ce priveste heading-urile tale, avand doar cate un

    heading H1 pe pagina si continuand apoi cu celelalte tipuri de heading-uri.

    Tot ceea ce a mai ramas de facut in coloana din mijloc este sa aranjezi textul. Cu cateva incercari si

    erori intalnite si remediate poti sa afli dimensiunile corecte. Ia aminte faptul ca inaltimea randului

    joaca un rol important aici, deoarece spatiaza randurile si ofera un aspect de pagina aerisita. Sa nu fi

    http://csshowto.com/sanke-photography/section-09.htmhttp://csshowto.com/sanke-photography/section-09.htmhttp://csshowto.com/sanke-photography/section-09.htmhttp://csshowto.com/sanke-photography/section-09.htm
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    43/47

    tentat sa folosesti padding-ul, intrucat nu iti va spatia randurile individual, ci se va aplica intregului

    paragraf, la fel cum o fac marginile. Pentru a spatia fiecare rand trebuie sa te ocupi de inaltimea

    randurilor. Iata codurile ce trebuiesc folosite:

    CSS:

    h2{color:#120c0e;}

    #maincolp{

    font-size:85%;

    margin:001.9em0;

    line-height:1.6em;

    padding:05px00;

    }

    #maincola{

    color:#120c0e;

    font-weight:bold;

    }

    #maincola:hover{

    color:#8bbd25;

    text-decoration:underline;}

    Html

    Sanke Photography Tutorials

    Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

    Pellentesque laoreet diam quis ante. Aliquam imperdiet urna quis nulla.

    Integer vulputate. Nam magna lectus, dapibus ut, ultrices at, fermentum eget,

    ligula. In enim quam, varius a, porta elementum, facilisis

    quis, velit. Proin nec nisi. Curabitur tempus, pede id luctus suscipit,

    enim erat molestie leo, ultricies volutpat libero diam sit amet urna. Ut nec

    massa. Duis eget justo placerat augue imperdiet imperdiet. Vestibulum

    gravida. Fusce vitae nisl. Vestibulum ante ipsum primis in faucibus orciluctus et ultrices posuere cubilia Curae; Etiam semper adipiscing leo.

    Mauris feugiat metus a lectus lacinia eleifend. Aliquam aliquam eros a

    nulla. Sed orci elit, semper eu, pharetra auctor, fringilla

    accumsan, ligula. Proin vestibulum fringilla mauris. Curabitur ac justo non

    felis tincidunt varius. Etiam interdum egestas libero. Donec a mauris sit

    amet dolor ultrices dictum. In viverra aliquam risus. Curabitur

    arcu elit, blandit a, ultrices et, semper at, neque.

    Cras sit amet felis nec eros condimentum lobortis. Aenean purus. Vivamus

    ultrices.

    Sanke Photography

    Codul este foarte simplu si usor de inteles, producand urmatorul rezultat:

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    44/47

    Figura 27

    Aceasta poza se aproprie foarte mult de original, asa ca o vom lasa exact cum este. Iti poti compara

    codul cuacesta , pentru a te asigura ca esti pe calea cea buna, inainte sa treci mai departe la ultimul

    punct.

    Casuta de cautare

    Trebuie sa adaugi o casuta cu text si un buton aferent, la fel ca in figura 28:

    Figura 28

    Input-ul text are colturi rotunjite, de aceea va trebui sa il tai din PSD ca o singura imagine si samodifici marimea campului pentru a corespunde cu dimensiunile acesteia. Apoi poti seta aceasta

    imagine ca fundalul input-ului. Si butonul Go va trebui sa fie o imagine, iar pentru a realiza acest lucru

    poti folosi un input type="image". Aici se gasesteimaginea text input , acesta esteimaginea cu butonul Go.

    Ambele input-uri vor fi pozitionate perfect pentru ca trebuie sa corespunda cu fundalul imaginii mari

    care se gaseste deja la locul ei. Pentru a face acest lucru trebuie sa te asiguri ca atributul

    position:relative este aplicat elementului parinte, astfel incat sa poti sa pozitionezi adecvat in cadrul

    http://csshowto.com/sanke-photography/section-10.htmhttp://csshowto.com/sanke-photography/section-10.htmhttp://csshowto.com/sanke-photography/section-10.htmhttp://csshowto.com/sanke-photography/images2/inputbg.gifhttp://csshowto.com/sanke-photography/images2/inputbg.gifhttp://csshowto.com/sanke-photography/images2/inputbg.gifhttp://csshowto.com/sanke-photography/images2/go.gifhttp://csshowto.com/sanke-photography/images2/go.gifhttp://csshowto.com/sanke-photography/images2/go.gifhttp://csshowto.com/sanke-photography/images2/inputbg.gifhttp://csshowto.com/sanke-photography/section-10.htm
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    45/47

    acelui element.

    Tot ceea ce a mai ramas de facut este sa scoti marginile din input si sa aplici imaginea de fundal.

    Aceasta va fi setata la pozitia corecta a inputului datorita unui bug din IE care face ca backgroundul sa

    aiba scroll atunci cand este adaugat mai mult text. Pozitiile exacte pot fi aflate din PSD, iar codul final

    va fi urmatorul:

    Tot ceea ce a mai ramas de facut este sa scoti marginile din input si sa aplici imaginea de fundal.

    Aceasta va fi setata la pozitia corecta a inputului din cauza unui bug din IE atunci cand este adaugat

    mai mult text. Pozitiile exacte pot fi aflate din PSD, iar codul final va fi urmatorul:

    CSS

    #search{

    width:975px;

    height:275px;

    background:url(images/search-bg2.jpg) no-repeat00;

    position:relative;

    }

    #searchinput{

    vertical-align:middle;

    position:absolute;

    top:216px;

    left:724px;

    }

    #searchinput.go{left:885px}

    input.search-site{

    background:#171b16 url(images2/inputbg.gif) no-repeatrighttop;

    border:none;

    color:#494b49;

    width:149px;

    height:18px;padding:4px5px0;

    font-size:85%;

    }

    Daca te uiti cu atentie la figura 29 de mai jos, se poate observa ca e similara cu originalul din figura

    28.

  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    46/47

    Figura 29

    Te poti asigura ca ai codul corect intrandaicisi verificand codul intreg. Te sfatuiesc sa verifici layout-ul

    in cat mai multe browsere posibile.

    Poti observa ca in IE5.x marimea input-ului este incorecta. Acest lucru se poate repara usor prin

    folosirea unui box ca mai jos:

    CSS

    *htmlinput.search-site{

    width:159px;/* ie5.x */

    width:149px;/* ie6* */height:22px;/* ie5.x */

    he\ight:18px;/* ie6* */

    }

    Observa \ din ultimul he\ight. In final codul se va aplica doar pentru IE si de aceea poti schimba

    comentariile conditionale pentru a se referi doar la IE6 sau variantele predecesoare acestuia, astfel:

    HTML

    "if lt IE 7" inseamna "pentru versiunile anterioare IE7".

    In mare ai terminat, dar layout-ul poate fi imbunatatit asigurandu-te ca pozitiile tuturor elementelor

    sunt corecte, modelandu-le pentru a corespunde mai bine cu PSD-ul. Exista si cateva diferente de

    nuanta care pot fi rezolvate printr-o mai buna aranjare si decupare a imaginilor.

    In afara de ultimul cod adaugat, restul codului este complet curat si usor de folosit. Este important sa

    iti construiesti layout-ul pe baze solide, iar atunci cand vei ajunge la finalul design-ului nu vei avea

    multe testari de facut.

    Din moment ce ai terminat cu layout-ul, CSS-ul poate fi transferat intr-un fisier extern CSS, iar CSS-ul

    si HTML-ul trebuiesc validate. Versiunea finala poate fi gasita aici . Mai ai un singur lucru de facut si

    anume, sa stilizezi si pozitionezi textul copyright al footer-ului, deoarece acum lipseste. Speram ca

    aceasta serie de tutoriale te-a ajutat sa intelegi mai bine acest gen de proiecte si ca iti va usura

    munca de acum incolo.

    http://csshowto.com/sanke-photography/section11.htmhttp://csshowto.com/sanke-photography/section11.htmhttp://csshowto.com/sanke-photography/section11.htmhttp://csshowto.com/sanke-photography/finished-layout/index.htmhttp://csshowto.com/sanke-photography/finished-layout/index.htmhttp://csshowto.com/sanke-photography/finished-layout/index.htmhttp://csshowto.com/sanke-photography/section11.htm
  • 8/14/2019 Ghid HTML in Pasi Simpli de La PSD Catre CSS

    47/47