Höhe eines div-Containers

Hallo,

wie ermittle ich die Höhe eines div-Containers?
mit

document.all.divname.height=x

weise ich eine Höhe zu (IE), aber wenn ich einfach die Höhe eines flexiblen Containers ermitteln möchte, die durch die Inhalte bestimmt werden?

z.B.

 abc
 def

–>wie hoch ist diese table?

MfG
Albrech

Hi!
Ich rate einfach mal, kann’s leider im Moment nicht ausprobieren:
hoehe=document.all.divname.height;
damit sollte die aktuelle Höhe in der Varieable hoehe gespeichert werden… hoffe ich :smile:)
CU
Dennis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi!
Ich rate einfach mal, kann’s leider im Moment nicht
ausprobieren:
hoehe=document.all.divname.height;
damit sollte die aktuelle Höhe in der Varieable hoehe
gespeichert werden… hoffe ich :smile:)

hi,

das wäre das logischste, stimmt, aber meinst du, darauf wäre ich noch nicht gekommen :wink:)
document.all.divname.height ergibt bei mir NICHTS, es sei denn, ich habe vorher etwas zugewiesen, aber bei einer variablen Höhe (vom Inhalt bestimmt) krieg ich keine Angaben…

Danke für deine Antwort
Albrecht

hmm… ich vermute mal, dass der IE dann dieses Attribut nicht setzt… ist zwar ziemlich lästig für den Programmierer, aber das mit dem pixelgenauen Positionieren funktioniert ja sowieso irgendwie nicht :smile:
sorry…
CU
Dennis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

also ich gehe mal davon aus, dass Du eine Division mit style=" position:absolute;" usw. hast.

Hoehe und Breite dieses Containers bestimmst Du dann wie folgt:

NS4:

var Breite = window.document.layers[„idDiv“].document.width;
var Hoehe = window.document.layers[„idDiv“].document.height;

IE4:

var Breite = window.document.all[„idDiv“].clientWidth;
var Hoehe = window.document.all[„idDiv“].clientHeight;

IE5:

var Breite = window.document.getElementById(„idDiv“).clientWidth;
var Hoehe = window.document.getElementById(„idDiv“).clientHeight;

NS6:

var Breite = window.document.getElementById(„idDiv“).offsetWidth;
var Hoehe = window.document.getElementById(„idDiv“).offsetHeight;

Du kannst beim IE auch offset… statt client… verwenden. client… ist in der Regel kleiner als offset…, ist aber im IE nur halbherzig implementiert.
Beispiel:
Wenn in der Division eine Table mit border vorhanden ist, dann sollte z.B. die ClientBreite um 2mal der BorderBreite kleiner sein, als die OffSetBreite. Ist im IE in der Praxis aber leider nicht so, wird aber in der Literatur so beschrieben.

Sollte die Division im NS6 so gross sein, dass sie z.B. rechts durch den Browser in der Ansicht abgeschnitten wird (weil der Browser in seiner Breite nicht breit genug ist), dann liefert NS6-M18 soweit mir noch bekannt ist zu kleine Werte fuer offsetHeight/offsetWidth. Naemlich genau so viele Pixels weniger, wie nicht mehr im Browser angezeigt werden koennen.

CU

much thx
Albrecht