Det er ingenting som å bygge et helt nettsted for å vise deg en god oversikt over hvordan en CSS-layout skal fungere. Over på PSDTUTS har vi en opplæring hvor du designer opp et slank, høykvalitets webdesign. I denne opplæringen skal vi ta den PSD-filen og bygge den med noen fine, rene HTML og CSS.
Så her er designet vi skal bygge. Som nevnt kan du følge opplæringen på PSDTUTS for å bygge denne designen fra bunnen av. I denne opplæringen skal vi bare bygge denne hjemmesiden, men ved å bruke det som en base ville du kunne bygge innvendige sider etter samme layout.
Det første du må gjøre er å bestemme hvordan vi skal strukturere vår bygg. Denne prosessen blir lettere over tid mens du lærer hvordan CSS-layouter kan fungere. For dette designet tror jeg vi kan komme seg unna med en veldig enkel konstruksjon som bruker ganske mye av absolutt posisjonering og et stort bakgrunnsbilde.
Hva er absolutt posisjonering?
Når du legger et HTML-element på en side (for eksempel a
og så videre) den har en naturlig posisjon som er bestemt av det som kom før det. Så for eksempel hvis du legger ned med litt tekst i den, og så legger du et annet, vil det naturligvis vises like under det første
. Det vil bare flyte i forhold til det siste elementet.
Absolutt posisjonering er annerledes ved at du spesifiserer en eksakt plassering for en gjenstand og tar den ut av den vanlige strømmen av elementer. Så hvis du hadde din første like før, men for din neste du ga den en absolutt posisjon til venstre: 500px; top: 500px; Da virker det nettopp på den plasseringen uansett tidligere
.
Du setter den absolutte posisjonen til noe slikt:
.klassenavn posisjon: absolutt; top: 0px; venstre: 0px;
Ulemper til absolutt posisjonering
Hovedproblemet med å bruke absolutt posisjonering er at elementene dine ikke egentlig er knyttet til hverandre. Så hvis du for eksempel har en blokk med tekst nær toppen av siden din, og en annen blokk med tekst litt lenger nede, kan det se bra ut når hver tekstblokk er kort. Men hvis toppblokken skulle ha et stort essay i det, så vil det bare gå over toppen, i stedet for å skyve neste blokk med tekst ned. Dette skyldes at du tar elementene ut av den naturlige strømmen av siden.
Så absolutt posisjonering er bare veldig nyttig for objekter som du vet vil alltid være en viss størrelse, og som egentlig ikke trenger å samhandle med andre elementer.
Hvorfor det er nyttig for oss i dag
Det gode ved Absolutt posisjonering, er at det er veldig, veldig enkelt! Du forteller nettleseren hvor du skal sette noe og det er der det ser ut! Til toppen er det langt færre problemer med nettleserkompatibilitet når du plasserer ting helt. Tross alt 100px er 100px enten du er i Firefox, Internet Explorer eller Safari.
SOOO vår layout
Så måten vi skal lage vår nettside på er:
Hvis det ikke gir mye mening enda, ikke bekymre deg, det vil som du ser at nettstedet tar form!
Nå når det gjelder bakgrunnsbilder, trenger vi to. En kommer til å være gigantisk, og faktisk etter at jeg lagret den som en JPG, er den omtrent 56kb i størrelse. Det pleide å være en tid der det ville vært litt for stort, men i disse dager er det ikke en stor sak.
Så det er hovedområdet, da trenger vi et andre bakgrunnsbilde som blir et tynt stykke. Denne snittet gjentar om og om igjen til høyre, slik at når nettleservinduet blir trukket, åpner det det fliser ut.
(Merk at logoen ikke skal vises nedenfor i bakgrunnsbildet, det var bare noen skjulte skjermbilder, beklager!)
Du kan se de to bildene jeg har laget her og her.
OK så nå, la oss starte vår HTML. Først legger vi ut noen grunnleggende:
PSD vs NET Laget for en PSDTUTS og NETTUTS opplæring av Collis! Se Photoshop-opplæringen, se webveiledningen
Som alltid er det best å jobbe fra utsiden med vårt layout. Så det jeg har gjort her er sted tre store
Også du vil se at jeg har lagt til noe innhold inne i bunnteksten, det er bare mini-logoen og teksten. Jeg har pakket teksten i en tag slik at jeg kan manipulere den. Det er ingen grunn til å gi merk et id eller en klasse, fordi vi bare kan si #footer img og siden det er det eneste bildet der inne, kan vi kalle det på den måten. Dette holder vår HTML litt enklere.
Nå CSS for vår kode så langt:
kropp margin: 0px; padding: 0 px; background-color: # 11090a; font-familie: Arial, Helvetica, sans-serif; #outside_container bakgrunn: url (images / background_slice.jpg) repeat-x # 000000; #container background: url (images / background_main.jpg) no-repeat; min-høyde: 800 ganger; #footer border-top: 1px solid # 3f2324; polstring: 30px 50px 80px 50px;
Så går gjennom en om gangen:
Her er hvor vi er opp til nå ...
Deretter avslutter vi den bunnteksten ved å legge til noen ekstra ekstra stiler som dette:
/ * Footer * / #footer border-top: 1px solid # 3f2324; polstring: 30px 50px 80px 50px; color: # 674f5d; font-size: 9px; linje-høyde: 14 piksler; #footer img float: left; margin-right: 10px; #footer span display: block; float: venstre; bredde: 250px; #footer en color: # 9e8292; text-decoration: none; #footer a: hover color: #ffffff;
Så her har jeg lagt til noen biter i vår #footer-klasse og laget noen flere klasser. La oss gå gjennom det ett stykke av gangen:
Så med tillegg av bunnteksten er det her opp til:
Nå med bunnteksten ut av veien, la oss legge til litt mer innhold på siden inne i hovedbeholderområdene. Først trenger vi to nye bilder som vi lager ut av vår PSD-fil:
Legg merke til at jeg har brukt et bilde for den store tekstblokken. Generelt er det best å bruke tekst for disse tingene, siden det gjør siden mye mer søkbar og god praksis. Men det ville vært mye vanskeligere å gjøre som vi måtte bruke litt av Flash og SIFr for å oppnå denne effekten. Så siden dette er en ganske enkel opplæring, har jeg valgt å bare bruke et stort bilde :-)
Her er en utdrag av vår HTML-kode - bare beholderbitene:
- retusjering
- Digitale effekter
- Webarbeid
- Handle om
- Ta kontakt med
Så inne i containerområdet har vi lagt til fem ting:
Så før vi begynner å utforme den, er det verdt å se hvordan siden ser ut med alt som dumpes på slik:
Som du kan se, må vi gjøre noe seriøst skiftende for å få alt på plass. Som du vil huske skal vi bruke Absolutt posisjonering for å gjøre dette raskt og enkelt.
Her er CSS vi legger til for at elementene våre begynner å passe på plass:
#container background: url (images / background_main.jpg) no-repeat; min-høyde: 800 ganger; bredde: 1000 piksler; stilling: i forhold; / * Logo / Meny / Panelposisjonering / /logo posisjon: absolutt; top: 58px; venstre: 51px; #panel posisjon: absolutt; top: 165px; venstre: 51px; ul # meny margin: 0px; padding: 0 px; stilling: absolutt; top: 145px; venstre: 75px; ul # right_menu margin: 0px; padding: 0 px; stilling: absolutt; top: 145px; høyre: 75px;
Så igjen, la oss gå gjennom hvert stykke for hverandre:
Nå kan du tenke, vel, hva er poenget, kan jeg ikke bare plassere ting ved hjelp av venstre bare? Vel, du kan, men med menyen, hvis du skulle legge til ekstra menyelementer, må du plassere den igjen og igjen slik at den fortsatt var 75 px unna høyre side. Mens ved å bruke Ikke sant De ekstra menypunktene flyter igjen når du legger til dem. Prøv det og se!
Så her er hvor vi er på:
Som du ser i forrige bilde, ser logoen og overskriftelementet ut som om de er i riktig posisjon. Men menyene ser litt rart ut. Før vi stiler dem, et raskt ord på logoen / bildepanelet. Du lurer kanskje på om de er begge bildene, hvorfor ikke gjøre dem til en del av bakgrunnsbildet?
Svaret er at logoen vi vil lage koblingsbar, slik at klikkingen vil ta deg tilbake til hjemmesiden (gjør nettstedet mer brukbart), og hovedtekstpanelet, vel det vil trolig endres fra side til side. Så ved å ha det et enkelt bilde, kan vi ha mange HTML-sider ved hjelp av det samme CSS-stilarket, men bare å plassere et annet bilde der med forskjellig tekst.
La oss nå stilere de to menyene og få vår side til å begynne å ta form. For å gjøre det trenger vi følgende CSS:
ul # meny margin: 0px; padding: 0 px; stilling: absolutt; top: 138px; venstre: 75px; ul # right_menu margin: 0px; padding: 0 px; stilling: absolutt; top: 138px; høyre: 110px; ul # meny li, ul # right_menu li margin: 0px; padding: 0 px; list-style: none; margin-right: 10px; font-size: 9px; text-transform: store bokstaver; display: inline; ul # meny li a, ul # right_menu li a text-decoration: none; color: # bd92b2; ul # meny li a: svever, ul # right_menu li a: svever tekst-dekorasjon: ingen; color: # ffffff;
De to første bitene i denne koden er de samme som før (selv om jeg justerte stillingene litt for å få dem til å se etter styling). Legg merke til at disse to definisjonene er adskilte ettersom de har forskjellige posisjoner, men etter at vi har kombinert de to i samme klassdefinisjoner som menypunktene selv burde se det samme. Formatet for å definere to klasser sammen er:
.myClass, .myClass2 ...
Dette er svært forskjellig fra denne definisjonen:
.myClass .myClass2 ...
Fordi den andre definisjonen sier, alle elementene med innsiden et element med.
Uansett så tilbake til våre stiler, la oss gå gjennom noen viktige punkter:
Og med det ser vår side nå ganske bra ut!
Neste er det på tide å legge til noe innhold! Først la oss legge til litt dummy tekst, sett opp slik at vi kan lage kolonner. Her er HTML:
- retusjering
- Digitale effekter
- Webarbeid
- Handle om
- Ta kontakt med
en slank design
Dummy Text: Dette designet ble produsert for en tutorial for photoshop og webutvikling. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
tutorials
Dummy Text: Dette designet ble produsert for en tutorial for photoshop og webutvikling. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
nylig arbeid
Dummy Text: Dette designet ble produsert for en tutorial for photoshop og webutvikling. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
OK, så i dette utsnittet, kan du se jeg har lagt til 3 nye
Først la oss legge til noen CSS for å få dem til å vises som kolonner:
/ * Innhold * / #content padding-top: 435px; padding-left: 85px; bredde: 815px; color: # 674f5d; font-size: 13 piksler; linje-høyde: 20 piksler; .column1 float: left; bredde: 230px; margin-right: 30px; .column2 float: left; bredde: 230px; margin-right: 30px; .column3 float: left; bredde: 270px;
Som vanlig har jeg delte av vår nye bit av CSS med en kommentar. Da har jeg satt noen stiler for #innhold. Legg merke til hvor mye polstring det er ... 435px! Dette er å skape plass til alle de absolutt posisjonerte elementene tidligere. I motsetning til disse elementene er dette innholdsområdet i den normale strømmen av siden.
Det må være i vanlig strøm fordi fordi du legger til mer innhold på den, bør den skyve bunnteksten ned. Hvis dette var helt posisjonert, ville det bare gå over toppen av bunnen.
Nå tre kolonne klasser, legg merke til at de er satt med bredde og med float: left. Dette forteller dem at de skal drive til venstre for siden justert ved siden av andre venstre flytende elementer. Jeg har gitt de to første rett margin, så de ikke står fast i hverandre.
Flytende et element gjør det til å svinge til venstre eller høyre, og forteller alt annet å vikle rundt det. Når de andre elementene også flyter, danner de seg i kolonner. Vanligvis når du ser et kolonnearrangement, bruker det flyter.
Dessverre er det et merkelig problem med flyter. Nemlig at de har et problem med sine containere. I stedet for å skyve de neste elementene ned, går de bare over toppen. Måten å løse dette problemet er å ha et element som kommer etter dem som har eiendommen klar: begge.
Den klare egenskapen sier å stoppe innpakning av ting rundt flytende
Uten Clearing
Slik ser layoutet ut som det er:
Se hvordan kolonnene har dyttet over toppen av bunnteksten, og selve bunnteksten har begynt å pakke rundt dem. Det er ikke riktig!!
Med Clearing
Løsningen er rimelig enkel, vi må legge til en
en slank design
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
tutorials
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
nylig arbeid
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
Se
nede i bunnen? Det er bare tomtNoen få ord på flyter og rydder dem
Du lurer kanskje på hvorfor jeg ikke plasserte "clear: both" i
Tilsynelatende er det en løsning som ikke innebærer å sette inn en ubrukelig
OK, nesten der nå! Hovedoppsettet er sortert, alt vi trenger å gjøre er å legge til og stil inn innholdet vårt. Her er HTML for det:
en slank design
Denne utformingen ble produsert for en Photoshop og webutviklingstutorial. Du kan se den første delen opp på PSDTUTS.com hvor du lærer å lage en vakker, men enkel design med en abstrakt bakgrunn og type.
Den andre delen av opplæringen er tilgjengelig via NETTUTS.com der vi gjør en rask bygge av PSD til et brukbart, fungerende HTML / CSS-nettsted.
tutorials
Psdtuts og nettutdelinger gir opplæring om følgende emner (sorta):
Det er i utgangspunktet den samme strukturen som tidligere, bortsett fra i den tredje kolonnen jeg har opprettet en
Så her er CSS for innholdet vårt:
#content h2 font-family: Georgia, "Times New Roman", Times, serif; color: # dbaa70; margin: 0px 0px 20px 0px; font-vekt: normal; ul.work margin: 0px; padding: 0 px; ul.work li listestil: none; margin: 0 px; padding: 0 px; klar: begge; ul.work li a color: # e0b882; display: block; polstring: 5px 10px 5px 10px; text-decoration: none; font-size: 10px; ul.work li a img float: left; margin-right: 20px; margin-bottom: 20 piksler; ul.work li a h4 color: # 674f5d; margin: 0 px; font-vekt: normal; font-size: 13 piksler; ul.work li a: svever, ul.work li a: svever h4 color: #ffffff;
La oss gå gjennom klassene en etter en:
Og det er det! Vi er ferdige!
Og dermed er nettstedets hjemmeside komplett. Du kan laste ned en ZIP av nettstedene for å se gjennom - den inneholder HTML for ulike stadier av denne opplæringen. Og selvfølgelig kan du se det endelige HTML-dokumentet:
Nå bør du alltid gjøre kryss-nettlesertesting. Alas Jeg har nettopp byttet fra Windows til en fin ny Mac og har ikke en Parallels / Win-installasjon ennå, så jeg kan ikke! Jeg gjorde en rask sjekk via BrowserShots.org, og kan se at det for det meste fungerer fint i IE6 / 7, men det er et problem med de tre kolonnene som tvinger fotfoten mye lenger ned enn de burde. Uansett bør det være en enkel løsning, men til neste uke når jeg har installert Windows, er IE-brukere du alene :-)
Jeg vil oppdatere her når jeg har hatt en sjanse til å stryke ut krøllen, men jeg ville ikke holde ut med å publisere til da!