[css] dopasowanie wysokości jednego kontenera do drugiego

0

Witam, mam mały problem. Otóż mam layout na divach. Okrojony przykład tu: http://coldpeer.ovh.org/neo_new/ . Są sobie lewy (left), środkowy (content) i prawy (right) kontenery. I tu pojawia się problem. Mam powiedzmy taką a taką wysokość środkowej części, a jak zrobić w CSS, by wysokość lewej i prawej części równała się wysokości środkowej cześci, bądź jeśli prawa/lewa część jest dłuższa od środkowej, to aby środkowa czesc by sie dopasowala wysokością do nich?

Trochę namieszałem :) Powiem, że w tabelkach takie coś jest automatycznie robione.

Do tychczas jadę na sposobie w JS, za co odpowiada kod:

function wys() {
   document.getElementById('left').style.height =
     document.getElementById('content').clientHeight+'px';

   document.getElementById('right').style.height =
     document.getElementById('content').clientHeight+'px';
 }

Ale jak to zrobić w CSS [???] Ma ktoś jakieś pomysły?

Z góry dzięki za odpowiedzi.
Pozdrawiam!

//edit: sorry, w temacie miało być "wysokości" :P

//możesz poprawiać temat swojego wątku - M
//fakt, nawet nie zauważyłem jakoś (nawyki z IPB) [sciana]
//na IPB też można [green] - M
//widocznie zależy, czy admin da takie uprawnienia zwykłemu userowi - na tym, na którym ja siedze nie można :P

0
AklimX napisał(a)

http://www.redmelon.net/tstme/3cols2/

Coś próbuję wstrzyknąć do mojego laya stąd, ale próby kończą się niepowodzeniem :| Wiesz może jak to na tym moim layu ma wyglądać, bo dojść do tego nie mogę choć wydawałoby się, że dobrze robię wszystko? [rotfl] </url>

0

Hmm... Nikt nie ma pomysłu? :-|

PS->sorry, że odświeżam :p

0

...a interesuje Cie bardziej efektywne rozwiazanie w JS ? Bo widzisz, w CSS mozesz jedynie zrobic cos co by wygladalo jak kolumny tej samej wysokosci ewentualnie uzyc cssowych tabel ktorych nie realizuje IE...

0
piechnat napisał(a)

...a interesuje Cie bardziej efektywne rozwiazanie w JS ? Bo widzisz, w CSS mozesz jedynie zrobic cos co by wygladalo jak kolumny tej samej wysokosci ewentualnie uzyc cssowych tabel ktorych nie realizuje IE...

czyli zostaje mi obecny sposób jak na razie? Bo wiem, że 'jakoś' to się w css da... No, ale jeśli nawet wspomniałeś o bardziej efektywnym rozwiązaniu w JS, to co proponujesz jak nie takie cóź? ;)

0
mr.r napisał(a)

http://www.alistapart.com/articles/fauxcolumns/
Powinno pomóc.

Jakoś nie wiem, co takiego stamtąd mogłoby pomóc modyfikując mój layout :>
Oświeć mnie ;P

0

Bo wiem, że 'jakoś' to się w css da...

a jak to sobie wyobrazasz ? jedyna konstrukcja w ktorej rozne kontenery sa od siebie zalezne to tabela w CSS lub zwyczajna htmlowa ktorej juz nikt nie lubi ;)

No, ale jeśli nawet wspomniałeś o bardziej efektywnym rozwiązaniu w JS, to co proponujesz jak nie takie cóź? ;)

wlasciwie to takie jak masz, chodzilo mi tylko o to zeby bylo bardziej uniwersalne, np:

<script>
function heightAlign(minHeight) {
  var elm = [], val = [minHeight], i, tmp;
  for (i = 1; i < arguments.length; i++) {
    if (tmp = document.getElementById(arguments[i])) {
      elm[elm.length] = tmp;
      tmp.style.height = 'auto';
      val[val.length] = tmp.offsetHeight;
    }
  }
  tmp = eval('Math.max(' + val.join(',') + ')');
  for (i = 0; i < elm.length; i++) {
    elm[i].style.height = tmp + 'px';
  }    
}
onload = function() {
  heightAlign(0, 'left', 'center', 'right');
};
</script>
<style>
#left { float: left; width: 200px; background: red; }
#right { float: right; width: 200px; background: gold; }
#center { margin: 0px 200px 0px 200px; background: blue; }
</style>
<div id="left">#<br>#<br>#<br>#<br></div>
<div id="right">#<br>#<br></div>
<div id="center">#<br>#<br>#<br>#<br>#<br>#<br></div>
0

Dzięki piechnat :) Można powiedzieć, że o takie coś mi chodziło - jeśli o JS chodzi ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1