Div változó mérettel
Saját joomla template-t csinálok. Klasszikus 3 hasáb, 'left'-'content'-'right'. A right div-et kikapcsoltatom, ha nincs benne modul, viszont ilyenkor a content rész marad a beállított fix szélességű, így jobb oldalon üres (háttérszínű) a sáv. Ha kiveszem a fix szélességi beállítást, akkor viszont a left div alá csúszik le. Ha a 'float: left'-et is kiszedem, akkor meg a 'left' háta mögé is becsúszik. Ha left-margin-nal beállítom a bal oldalhoz akkor meg csak addig jó, míg valamelyik oldalon vissza nem kapcsolok egy modult, mert akkor meg a a jobb oldalt nyomja le alulra. Másutt működik ez a dolog, csak nem tudom hogyan.
■
jQuery
Nálam ez volt a problem:
Volt 1 wraper divem ami margin:auto-val középre nyomtam az egész cuccot.
Ezen belül a következő hiearchiával:
wrapper:
->head{fejrészes cuccok}
->content{position:absolute-val berakva, fix magassággal(ez volt a baj)}
->rightSide{jobb oldal be float-olva a content divem mellé}
->footer{lábrész}
Ugye ha a content divemben a tartalom mondjuk 1000px hosszú akkor a content divemen "túlnyult", ezt a problémát én így oldottam meg(a 2 számot hagyd figyelmen kívül, külső okok miatt kelettek):
$(document).ready(function() {
var $a = $('#rightSide').outerHeight()-211;
var $b = $('#content').outerHeight();
var $c = $a<$b?$b-$a:0;
if($a<$b)
$('#jobbSav').height($a+$c + 235);
});
Ha így ezekkel eljátszodozol szerintem sikerül megoldanod a te problémádat is, ha nem sikerül sehogy sem, nyugodtan küld el és megcsinálom.
class
body
-hoz egy osztályt attól függően, hogy van-e bal illetve jobb oldalsáv, illetve mindkettő. Ennek megfelelően már tudod állítani a tartalom margóját illetvefloat
-ját.Ha jól értem..
Elvileg megoldható
Kipróbálható itten. Teszteltem Chrome, Firefox, IE9, IE8, IE7-ben.
A lényege kb. ennyi: