[CSS] Dynamicznie skalowany div , a dziedziczenie właściwośc

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
tsuzso
Posty: 16
Rejestracja: sob cze 04, 2005 12:28 pm

[CSS] Dynamicznie skalowany div , a dziedziczenie właściwośc

Post autor: tsuzso »

Widzę, że wakacje w pełni :). A więc spróbuje opisowo.

W środku diva chciałbym zagnieżdzić jeszcze cztery inne warstwy.
1. Środkowa powinna mieć wysokość dynamicznie dostosowującą się do ilości zawartego w nih tekstu i
zarazem powinna "rozpychać" w pionie warstwę nadrzędną.
2. Dwie warstwy boczne powinny mieć wysokość równą wysokości warstwy nadrzędnej.
3. Ostatnia warstwa powinna być "przyklejona" do dolnej lini warstwy nadrzędnej.

Ps: 1-szy i 3-ci punkt to głupstwo. Za to z drugim już parę dni się męcze.
Pps: Czy w ogóle da się to zrobić?

Help...
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: [CSS] Dynamicznie skalowany div , a dziedziczenie właściwośc

Post autor: viraptor »

To chyba najczęstszy problem z css'em i divami... Niestety dość duży.
Wyjście pierwsze (jeśli twoja strona będzie zawsze większa od ekranu, albo może zajmować cały ekran):
CSS:

Kod: Zaznacz cały

#container { width: 770px; }
#left, #right { float: left; height: 100%; width: 200px; }
#main { width: 370px; height: 100%; float: left; }
#footer { clear: both; width: 100%; }
body, html { margin: 0px; padding: 0px; height: 100%; }
HTML:
[xml]
<div id="container">
<div id="left">lewa</div>
<div id="main">środek</div>
<div id="right">prawa</div>
<div id="footer">stopka</div>
</div>
[/xml]

Wyjście drugie (zawiera js'a, może być mniejsze od ekranu):
CSS:

Kod: Zaznacz cały

#container { width: 770px; }
#left, #right { float: left; height: 100%; width: 200px; }
#main { width: 370px; height: 100%; }
#footer { clear: both; width: 100%; }
HTML:
[xml]
<script type="text/javascript">
function threeColumn() {
var m = document.getElementById('container');
m.style.height='auto';
var x = m.offsetHeight;
m.style.height = x + "px";
}
</script>
.....
<body onLoad="threeColumn();">
.....
<div id="container">
<div id="left">lewa</div>
<div id="main">środek</div>
<div id="right">prawa</div>
<div id="footer">stopka</div>
</div>
[/xml]

Jeśli nie masz stałych szerokości, to przy resize'ie możesz mieć problemy. Możesz wtedy spróbować dodać window.onresize=threeColumn;
Więcej tu, albo bardziej złożone rozwiązanie tu
Stig
Administrator
Posty: 938
Rejestracja: pn paź 04, 2004 10:52 am

Re: [CSS] Dynamicznie skalowany div , a dziedziczenie właściwośc

Post autor: Stig »

A może znajdziesz coś, co odpowiadałoby Twoim wymaganiom w tym lub tym zbiorze gotowych szablonów stron.
tsuzso
Posty: 16
Rejestracja: sob cze 04, 2005 12:28 pm

Re: [CSS] Dynamicznie skalowany div , a dziedziczenie właściwośc

Post autor: tsuzso »

no cóż... jeśli JS ma być rozwiązaniem dla tak banalnego w sumie problemu, to chyba już lepsze tabelki... Niniejszym stwierdzam, że zawiodłem się nieco na CSSach... Tableless layout. Wolne żarty.
ODPOWIEDZ