HTML & CSS for nybegynnere

HTML & CSS for nybegynnere (Del 40): Tosøyler og trisøyler oppsett

Alle videoer i opplæringen HTML & CSS for nybegynnere

Eg går utifrå eit typisk kolonnelayout i prosjektet vårt. Før eg presenterer dette prosjektet live og i farge, vil eg spesifikt vise dykk korleis de sjølv kan implementere kolonnelayouts. Fokuset her vil vere på to- og trespalteoppsett, sidan desse framleis utgjer grunnlaget for dei fleste nettstadene.

Den altoverskyggande klassikaren innan webdesign er kanskje tospalten. I det venstre vindusområdet presenteres vanlegvis navigasjonen, medan den eigentlege innhaldet er synleg i høgrespalta. I samanheng med bloggar har denne atferda faktisk endra seg litt. Faktisk viser mange bloggar navigasjonen eller reklamen til høgre, medan den eigentlege innhaldet blir presentert til venstre.

HTML & CSS for nybegynnere (Del 40): Tosiders og trespaltede oppsett


Slike applikasjonar kan implementerast relativt enkelt i CSS. Faktisk er tospaltene den enklaste layoutforma.


Eg vil i det følgjande eksempelet vise ein tospalter som kjem ut med absolutte prosentverdiar.

Her er det fullstendige eksempelet:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#nav {
   position: absolute;
   left: 0;
   margin: 0;
   width: 20%;
   background-color:#66CCCC;
}
#main {
   margin: 0;
   margin-left: 20%;
   width: 80%;
   background-color:#6666CC;
}
</style>
</head>
<body>
<div id="header">Layout med absolutt posisjonering</div>
<div id="nav">Navigasjon</div>
<div id="main">Dette er innhaldsområdet</div>
<div id="footer">Her står opphavsrettsinformasjonen.</div>
</body>
</html>

Og slik ser det ut i nettlesaren:

HTML & CSS for nybegynnere (Del 40): Tosidige og trespaltede oppsett



Du kan forresten enkelt flytte den venstre kolonna til høgre. Juster følgande instruksjonar:

• I #nav endrar du verdien left: 0 til right: 0.

• I #main gjer du berre margin-left om til margin-right.

Etter at endringane er lagra, vil du sjå det ønska resultatet.

HTML og CSS for nybegynnere (Del 40): Todelt og tredelt oppsett

Problemet med det viste layoutet basert på absolutt posisjonering er imidlertid følgjande: Dersom innhaldet i den venstre kolonna blir større, går det over fotområdet.

HTML & CSS for nybegynnere (Del 40): Tosidige og tredelte oppsett

Dette skuldast rett og slett at det ikkje blir "holdt av plass" for absolutt posisjonerte element. Problemet kan unngås ved å legge til passande innhald i hovudområdet som er lengre enn det i den venstre kolonna.

HTML og CSS for nybegynnere (Del 40): To- og trespaltede oppsett



Du bør derfor berre bruke denne layoutforma når du er sikker på at hovudområdet faktisk er høgare enn den venstre (eller høgre) kolonna.

Ein tospalter med float

Problemet med overlappinga i fotområdet som oppstod i det føregåande eksempelet kan løysast ved å bruke eigenskapen float. Den endra syntaksen ser slik ut:

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 #nav {
    float: left;
    margin: 0;
    width: 20%;
    background-color:#66CCCC;
    border: 0;
 }
 #main {
    margin: 0;
    float: left;
    border: 0;
    background-color:#6666CC;
    width: 80%;
 }
 #footer {
    clear: both;
 }
 </style>
 </head>
 <body>
 <div id="header">Layout med absolutt posisjonering</div>
 <div id="nav">Området for navigasjon</div>
 <div id="main">Dette er innhaldsområdet</div>
 <div id="footer">Her står opphavsrettsinformasjonen.</div>
 </body>
 </html>

Dei to kolonnene har no fått eigenskapen float. Då blir kolonnene no plassert ved sida av kvarandre.

HTML & CSS for nybegynnere (Del 40): Tosiders og trespaltede oppsett.



Den venstre kolonna får ei breidde på 20 prosent. Pass spesielt på at eit element plassert med float alltid forventar ei breiddeangjeving.

Det eigentlege innhaldsområdet får ei breidde på 80 prosent. Også dette området blir plassert med float: left. Difor vil dette området bli vist ved sia av den venstre kolonna.

For at fotområdet faktisk alltid skal vere i nedre vindusområdet – altså under kolonnane – blir følgjande syntaks brukt:

#footer {
    clear: both;
 }



Eg hadde allereie vist til moglegheita for å definere eit eige klasse for denne varianten.

Ein trespalter med float

Også trespaltaren er ein populær variant innan webdesign. Ein typisk inndeling ser slik ut:

• Den venstre kolonna inneheld navigasjonen.

• I midtkolonna finn ein det eigentlege innhaldet.

• Til høgre blir det vist tilleggsinformasjon eller reklame.

Nedanfor finn de eit eksempel der det blir oppretta ein fleksibel trespalter. Syntaksen er – som de vil sjå snart – ganske lik den for tospaltaren som vart vist tidlegare. Men no er det ein ekstra div-område, right, som til slutt representerer høgrespalten.

<!DOCTYPE html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>PSD-Tutorials.de</title>
 <style>
 #main, #right {
    margin: 0;
    border: 0;
    padding:0;
 }
#nav {    
    float: left;    
    margin: 0;    
    width: 20%;    
    background-color:#66CCCC;    
    border: 0; 
 } 
 #main {    
    margin: 0;    
    float: left;    
    border: 0;    
    background-color:#6666CC;    
    width: 60%; 
} 
#right {    
    float: right;    
    width: 20%;    
    background-color:#6699FF; 
} 
#footer {    
    clear: both; 
} </style> 
</head> 
<body> 
   <div id="header">Layout mit absoluter Positionierung</div> 
   <div id="nav">Der Bereich für die Navigation</div> 
   <div id="main">Das ist der Inhaltsbereich</div> 
   <div id="right">Das ist die rechte Spalte</div> 
   <div id="footer">Hier stehen die Copyright-Informationen.</div> 
</body> 
</html>



Den nye delen er tildelt en bredde på 20 prosent. Dermed ser fordelingen ut som følger:

• Venstre og høyre kolonne tar hver 20 prosent av den tilgjengelige visningsområdet.

• Midtkolonnen har en bredde på 60 prosent.

Ved den viste syntaksen blir right-delen faktisk vist til høyre.

HTML & CSS for nybegynnere (Del 40): Tosøyler og trespaltede layouter

Syntaksen er imidlertid fleksibel på dette punktet. Du kan også tilpasse hoveddelen på følgende måte:

#main {
    margin: 0;
    float: right;
    border: 0;
    background-color:#6666CC;
    width: 60%;
 }



Her ble float satt til right. Dermed beveger right-delen seg mot venstre.

I denne opplæringen har du sett hvor enkelt det er å definere grunnleggende layouter basert på float. Denne kunnskapen danner nå grunnlaget for opprettelsen av en nettside. I de neste opplæringene vil en nettside gradvis begynne å ta form, med start i grunnstrukturen.