CSS - közös háttéerkép?
Egy CSS alapú layoutot próbálok összehozni, de kis (?) problémám akadt a közös háttérkép kialakításával kapcsolatban. Semmi extra, középre igazítva a lap, fejléc és 3 oszlopban tartalom benne.
A kód így néz ki:Namost a "lap" div-re van megadva a háttérkép. Ezen a div-en belül a "fejlec" div-re vonatkozóan látszódik is háttérkép, azonban a többi div-re (menu, aktualitasok) nem jelenik meg. Azért furcsállom, mert a menu és a aktualitasok div ugyanazon a szinten helyezkedik el, mint a fejlec, ennek ellenére csak a fejlec div-en látszódik a háttérkép, pedig a lap-on belül helyezkedik el a többi div is, tehát elméletileg az összes beágyazott div-en látszódnia kellene. Vagy nem?
Hol baltázom el?
(Szenvedek a CSS layoutokkal 2 napja.. hagyományos, elavul nagyon-nagyon húderossz HTML táblákkal 5 perc alatt készen lennék, gondoltam ideje valami modernebb felépítést használni.. kezd elmenni a kedvem ezektől a div-es szivásoktól.. http://weblabor.hu/cikkek/designbolkeszoldal végignéztem)
■ A kód így néz ki:
<style type="text/css">
<!--
body
{
background-color:#FFFF00;
}
#lap
{
width: 800px;
margin: 10px auto 10px auto;
background-image:url(images_css/hatter.jpg);
}
#fejlec
{
height:50px;
}
#menu
{
width:200px;
float:left;
}
#tartalom
{
float:left;
width:400px;
}
#aktualitasok
{
width:200px;
float:left;
}
-->
</style>
</head>
<body>
<div id="lap">
lap
<div id="fejlec">
fejlec!
</div>
<div id="menu">
Menü
</div>
<div id="tartalom">
<p>tartalom!</p>
</div>
<div id="aktualitasok">
Aktualitasok!
</div>
</div>
</body>
Hol baltázom el?
(Szenvedek a CSS layoutokkal 2 napja.. hagyományos, elavul nagyon-nagyon húderossz HTML táblákkal 5 perc alatt készen lennék, gondoltam ideje valami modernebb felépítést használni.. kezd elmenni a kedvem ezektől a div-es szivásoktól.. http://weblabor.hu/cikkek/designbolkeszoldal végignéztem)
Sőt..
Síráshatár
tipp
adtam..
Tehát mintha a #fejlec-hez tartozó </div> egyben lezárná a #lap div-et is, de ez sem igaz, mert egyrészt nincs lezárva (-> code), másrészt a 800 pixel #lap szélességen belül jelennek meg a beágyazott div-ek. Tehát csak háttérszín / bgimage szempontból nincs beágyazva a belső div, egyébként igen.. Ilyen pedig elvileg nem létezik. Hajkitépés állapotában leledzek
Új próba.
Most így néz ki a kód:
Azonban most fogja magát, és a #menu után csinál egy "sortörést", azaz a #tartalom már úgy jelenik meg, vagyis nincs a #menu-vel egy magasságban. Senki nem mondta neki, hogy így legyen, de ez van (nincs clear: attributum megadva, csak a láblécnek, ami később található. A #lap 800 pixel, a #menu 150 px, a #tartalom 400px szélességű, tehát simán el kellene férnie egymás mellett.
Mi a fene történik?? És miért?
Jelenleg így néz ki browserben
hiányzó float
Nem ugyanaz
pontosítás
update: #menu left-re floatolva, #aktualitasok right-ra (a css colorer valahogy elbaltázza az értéket)
Megoldódott?
Valóban hiba volt a 2. kódban, de ez már annak tudható be, hogy kissé felforrt az agyvizem.. :|
Mindenesetre alapvetően nem az elbaltázott float: paraméter volt a probléma forrása, az már csak okozati hiba volt az tizedik újraírás után.
Megoldásként azt találtam, hogy a "belső" div-ek sorrendjén változtattam; vagyis a ha a float-olt div-eket pakoltam előre a HTML-ben, és utána a többit, akkor hirtelen minden a helyére került.. nem tudom milyen összefüggés van; mindenesetre most működik.
tehát:
#lap (kozepre)
#fejlec
#menu (float:left)
#aktualitasok (float:right)
#tartalom (float nélkül)
Íg jó.
Amennyiben változtatok a div-ek sorrendjén, azonnal probléma van.
Na mindegy azért köszi a segítséget, merült fel újabb de az talán megér egy külön topicot.
Arra próbáltalak rávezetni...