molily: offsetHeight ergibt falschen Wert

Beitrag lesen

Hallo,

function divline()
{
  document.getElementById("divline").style.height = document.getElementById("content").offsetHeight + "px";
}

Es ist eine schlechte Idee, eine Funktion so zu nennen, wie die ID eines Elements, denn Browser legen für ein solches Element bereits eine globale Variable an. Das kann in einigen Browsern zu einer Exception führen.

Was übersehe ich, dass da nicht der korrekte Wert bei rauskommt?

Dass der Content am Anfang, bevor du das DIV vergrößerst, eben diese Höhe hat, weil der Text links unter dem grauen Bereich auf voller Breite fließt. Erhöhst du #divline nun, wird die Spalte schmaler und der Text fließt anders, sodass #content höher wird. Verwendest du die Höhe vom Anfang, so ist #divline nicht hoch genug.

Davon abgesehen scheint mir deine Lösung unnötig kompliziert. Warum verwendest du nicht einfach border-left vom #content, anstatt leere div-Elemente rein für die Darstellung einzufügen und deren Größe mit JavaScript zu setzen?

Zum Thema »gleich lange Spalten« gibt es zudem verschiedene CSS-Lösungen. Allerdings handelt es sich bei deinem Strich ja mehr um ein Gestaltungselement, das im Markup eigentlich nichts zu suchen hat.

Grüße,
Mathias