Nyitólap » Informatika » Stíluslapok » 4. lecke

4. lecke - Dobozokból oldalak

A leckéből megtanulhatjuk, hogy a már kiválóan kezelt dobozokból hogyan lehet különféle elrendezésű oldalakat összerakni.

A lecke vázlatát tartalmazó prezentáció innen letölthető (ppt, ~1,5 MB)

4.1. Egyhasábos szerkezet

Bevezetés gyanánt egy egyszerű egyhasábos elrendezést készítünk el. (Ilyet!)

Első lépés ismét a HTML kód megírása, ahol 4 dobozt helyeztünk el. A "container" (tároló) nevű doboz tartalmazza a három fő DIV-et.

<div id="container">
  <div id="header">
    <p>Tartalom... </p>
  </div>
  <div id="content">
    <div class="text_box">
      <p>Tartalom... </p>
    </div>
  </div>
  <div id="footer">
    <p>Tartalom... </p>
  </div>
</div>

Lássuk ezek után a stíluslap egyes részeit.

A "body" rész egyetlen újdonsága az utolsó sorban látható: az "y" irányban ismétlődő háttérkép használata.

body{
margin: 0;
padding: 0;
font: normal 11px verdana, tahoma, arial, sans-serif;
color: #505050;
background: url(hatter1.png) repeat-y center top;
}

A "container" CSS kódjának egyik érdekessége, hogy azt a postion: relative beállítással középre igazítottuk. A background: transparent (átlátszó) tulajdonságra azért van szükség, hogy az előbb megadott háttérkép látszódjék.

#container{
width: 550px;
position: relative;
margin-left: auto;
margin-right: auto;
text-align: center;
background: transparent;
}

A "header" (fejléc) függőleges méretét height: 80px beállítással korlátoztuk. Érdemes megfigyelni az overflow: hidden (~ túlcsordulás: rejtve) tulajdonságot: ennek következtében az esetleg túl hosszúra sikeredő szöveg nem lóg ki a dobozból.

#header{
width: 550px;
height: 80px;
position: relative;
text-align: center;
background: transparent;
border-bottom: 1px solid #cccccc;
overflow: hidden;
}

A tartalmat magába foglaló "content" doboz attól lesz rugalmas méretű, hogy nem adtuk meg a magasságát. A margin-bottom: 20px; beállítás a láblécet tartja a kívánt távolságban.

#content{
width: 550px;
text-align: left;
background: transparent;
padding: 0;
margin-bottom: 20px;
}

A "footer" (lábléc) fölé a border-top: 1px dotted #cccccc; beállítással húztunk egy pontozott vonalat.

#footer{
width: 550px;
height: 50px;
background: transparent;
border-top: 1px dotted #cccccc;
padding-top: 2px;
}

Még egy apróság: a bekezdések első sorát a p:first-line{font-weight: bolder;} beállítás használatával emeltük ki.

4.2. Kéthasábos szerkezet

Második gyakorló feladatként a fentiekben elkészített oldalt alakítjuk át. A cél: a bal oldalon jelenjen meg egy menü elhelyezésére alkalmas oszlop. Valahogy így!

A HTML kód csak annyiban változik, hogy az oldalmenüt tartalmazó "left_side" azonosítójú doboz kódját beillesztjük a "content" alá.

...
  <div id="content">
    <div class="text_box">
      <p>Tartalom... </p>
    </div>
  </div>
  <div id="left_side">
    <p>Tartalom... </p>
  </div>
...

Természetesen ahhoz, hogy ez az új rész a tartalom mellé (nem pedig alá, amit a HTML kód eredményezne) kerüljön, az egyes részek stílusát be kell állítanunk.

A "content" CSS kódjában a szélességet le kell csökkentenünk, hogy legyen mellette hely az oldalsó doboznak. De a lényeg a float: right; beállításban van: hatására a jobbra igazított tartalom körül "folyósan" (~float) jelenik meg majd a menü.

#content{
width: 400px;
text-align: left;
padding: 0;
margin-bottom: 20px;
float: right;
}

Az új, "left_side" nevű doboz tulajdonságai nem szorulnak magyarázatra:

#left_side{
width: 150px;
text-align: left;
padding: 0;
margin-bottom: 20px;
border-right: 2px solid #DF0404;
}

Annak érdekében, hogy a lábléc (footer) mindkét fölötte levő doboz alá kerüljön, alkalmazzuk a clear: both; beállítást: így a doboz minden "lebegő" elem alá fog kerülni.

#footer{
width: 550px;
height: 50px;
border-top: 1px dotted #cccccc;
padding-top: 2px;
clear: both;
}

Ismét egy apróság: a bekezdések első karakterét a p:first-letter{background-color: #DF0404; padding: 1px; color: #FFFFFF;} beállítás használatával emeltük ki.

Feladatok

4.1. feladat

Kapjunk vérszemet: kéthasábos oldalunkat alakítsuk át három hasábossá! A két menü-hasáb a tartalom jobb és bal oldalán helyezkedjen el, a fejléc és lábléc maradjon. Valahogy így!

Témakörök