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...