Tabelle auf Seitenhöhe festnageln?

Hallo.

Ich benutze ein IFRAME in einer Tabellenzelle. Momentan gebe ich die höhe fix an, das ist aber nicht wirklich schön, da bei höheren Auflösungen unter der Haupttabelle so viel Platz bleibt. Ich würde das gerne ändern. Ich suche dabei 2 Lösungsansätze.

Lösung 1 wäre, wie schon das Topic sagt, die Möglichkeit, die Tabelle (von der Hauptseite) einfach immer auf die Seitengröße anzupassen.

Lösung 2 wäre schöner: Das IFRAME sagt, wieviel Platz es für den Inhalt braucht, aber maximal die Seitenhöhe.

Es gibt auch noch einen 3. Weg, der aber inakzeptabel ist. Ich nehme 2 „normale“ Frames her, dann ist die Tabelle im unteren Frame immer so groß, wie Platz benötigt wird. Dummerweise kann man es dann nicht mehr als einheitliche Tabelle darstellen, denn wenn Scrollbalken erscheinen wird die Tabelle verschoben.

Ich suche also Möglichkeiten in HTML, CSS oder Javascript für Lösung 1 oder 2.

Hat das schonmal jemand gemacht?

Gruß, Bernd

Hi !

Wenn ich Dich richtig verstanden habe, soll sich die Höhe des Frames also entsprechend der Bildschirmauflösung ändern damit Dein Design nicht zerhauen wird. Warum gibst Du die height im Frame Tag nicht einfach in Prozentwerten an? Dann passt sich das doch automatisch an. Eine andere Möglichkeit wäre das mit JavaScript zu realisieren.

Hierzu könntest Du einfach die Fenstergröße ermitteln und dann Dein Frame von der Höhe her anpassen. Hier findest Du ein Beispiel, dass für Dich eigentlich schon völlig reichen sollte:

http://de.selfhtml.org/javascript/beispiele/fensteru…

Hi !

Hallo auch.

Wenn ich Dich richtig verstanden habe, soll sich die Höhe des
Frames also entsprechend der Bildschirmauflösung ändern damit
Dein Design nicht zerhauen wird.

So ungefähr.

Warum gibst Du die height im
Frame Tag nicht einfach in Prozentwerten an?

Funktioniert leider nicht. Wenn ich eine Prozentangabe mache, wird es komplett ausgeblendet (beim IE und NS, FF reserviert zumindest ein kleinwenig Platz für das IFRAME). Das könnte aber daran liegen, dass sich das IFRAME in einer Tabelle befindet.

Eine andere Möglichkeit wäre das mit JavaScript zu realisieren.

Hab mir das Beispiel mal angesehen. IE6 und NS7.01 kommen damit klar, FF1.0 interessiert das garnicht. Das Script ist aber zumindest ein guter Ansatz. Ich werd mir das mal vornehmen, vielleicht kann ich FF ja doch davon überzeugen, dass es klappt.

Bernd

Also ich habs eben nochmal getestet und Firefox aktualisiert den Wert nicht.
Bei Seitenaufruf gibt er aber die richtige Bildgröße zurück. Oder soll der Frame dynamisch angepasst werden (wenn ich das Fenster manuell verkleinere) ?

Gruss
Gooze

Es geht doch!
Das Script war nicht schlecht. Hab es auf nen 5-Zeiler eingestampft (brauch ja nur die Höhe) und jetzt macht auch der FF was er soll (warum auch immer…).

<!–
function neuAufbau()
{
if (window.innerHeight) wHeight = window.innerHeight;
else if (document.body && document.body.offsetHeight) wHeight = document.body.offsetHeight;
else wHeight = 0;
document.getElementById(„vardiv“).style.height = wHeight;
}
window.onresize = neuAufbau;
//–>

So geht das wunderbar, ich muss eigentlich nur von wHeight den Wert abziehen, den mein oberer Bereich belegt. Damit das auch beim ersten Laden der Seite gleich zieht, ruft man im BODY-Tag neuAufbau() auf. Funktioniert so mit IE als auch mit FF.

Noch ein Hinweis: Damit das bei mir geklappt hat, musste ich im Tabellenfeld um das IFRAME ein div bauen, dessen Größe ich dann verändere. Mit dem TD-Tag hat es nicht geklappt. Und damit das IFRAME sich auch immer schön anpasst, braucht es das height=„100%“.

Danke nochmal für die Anregung. :wink:

Bernd

Kein Problem, freut mich wenn ich Dir helfen konnte.

Gruss
Gooze

Hi,

Das Script war nicht schlecht. Hab es auf nen 5-Zeiler
eingestampft (brauch ja nur die Höhe) und jetzt macht auch der
FF was er soll (warum auch immer…).

Denk aber dran, dass man Java-Script anschalten kann und dass viele User dies auch tun. Dann nützt dir das tollste Script überhaupt nichts mehr und dein Layout ist beim Teufel.

Viele Grüße
WoDi