Site mit eigener Navbar - Frameset vs. iframe
Thomas
- html
Hi Leute,
hätte da mal eine Anfängerfrage bzgl. obigen Themas.
Wenn ich ein Frameset mit 2 Frames def. - oben die Navbar unten das Frame für die Websites - ist das natürlich "nur" mit einer DTD "Frameset" valide zu machen.
Ein Variante mit iframe - z.B. oben einen festen Bereich definiert (Tabellenzeile 40 Pixel o.ä.) und unten ein iframe mit 100% Höhe und Breite - wäre dann "eine Stufe besser" mit DTD "Transitional" möglich.
Hab das alles auch schon mal durchgespielt und habe das Gefühl, dass die 1. Variante einfacher zu realisieren ist und auch besser funktioniert.
Bei des zweiten Variante krieg es z.B. nicht gebacken, dass der untere Rand des iframe hinter dem unteren Fensterrand abtaucht - genau die 40 Pixel von oben - die Prozentangaben beziehen sich also auf das gesamte Fenster bzw. nur der Frames untereinander :(
vereinfachte Problemdarstellung:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head></head>
<body>
<table border="1" width="100%" height="40">
<tr><td> </td> </tr></table>
<iframe src="http://www.google.de" name="frame0"
marginheight="0" marginwidth="0" width="100%" height="100%">
<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p>
</iframe></body></html>
Dazu die beiden Fragen:
gibt es für das letztgenannte Problem überhaupt eine Lösung und lohnt es sich überhaupt der "besseren" DTD hinterher zu jagen - koste es was es wolle.
Thomas
Hi,
Ein Variante mit iframe - z.B. oben einen festen Bereich definiert (Tabellenzeile 40 Pixel o.ä.) und unten ein iframe mit 100% Höhe und Breite - wäre dann "eine Stufe besser" mit DTD "Transitional" möglich.
was genau daran wäre "eine Stufe besser"?
Hab das alles auch schon mal durchgespielt und habe das Gefühl, dass die 1. Variante einfacher zu realisieren ist und auch besser funktioniert.
Das ist egal. Frames sind Frames, mit all ihren Nach- und vereinzelten, meist scheinbaren, Vorteilen.
die Prozentangaben beziehen sich also auf das gesamte Fenster bzw. nur der Frames untereinander :(
Prozentangaben bei Dimensionen beziehen sich auf die entsprechende Größe des übergeordneten Elements.
vereinfachte Problemdarstellung:
Da stellst Du viele Probleme dar.
<html><head></head>
Das fehlende <title>-Element akzeptiere ich als die besagte Vereinfachung.
<table border="1" width="100%" height="40">
Für diese Attribute existiert jedoch kein Grund. 1996 ist ein paar Jährchen her, und seit dem gibt es CSS.
<tr><td> </td> </tr></table>
Der Missbrauch von Tabellen für etwas anderes als die Strukturierung tabellarischer Daten ist ebenfalls ein Problem, und zwar ein schwerwiegendes.
<iframe src="http://www.google.de" name="frame0"
marginheight="0" marginwidth="0" width="100%" height="100%">
Warum willst Du überhaupt Frames einsetzen? Und dann auch noch für die Einbettung eines Systems, das am wenigsten damit anfangen kann.
<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p>
Wo bitte ist das ein alternativer Inhalt?
gibt es für das letztgenannte Problem überhaupt eine Lösung und lohnt es sich überhaupt der "besseren" DTD hinterher zu jagen - koste es was es wolle.
Es lohnt sich zumindest keinesfalls, Frames nachzujagen. Ebenso wenig lohnt es sich, bei etwas, das die Darstellung betrifft, irgendwo anders zu suchen als bei CSS.
Cheatah
Danke Cheatah für Deine ausführliche Analys meines Textes - aber irgendwie hast Du mich falsch verstanden.
Der HTML-Text war nur dafür gedacht, das Problem vereinfacht darzustellen. Die Frame-Variante ist gesetzt - also ohne CSS was die Strukturierung der Webseite angeht.
in den unteren Framset werden Webseiten anderer Programmierer geladen, ich bin schon froh, dass die ihre neuen Seiten mit "self" starten und nicht das ganze Fenster neu laden.
Ich verstehe dein Ansinnen bzgl. der Strict-Variante und stehe eigentlich auch dahinter - aber die Realität sieht leider anders aus.
Kannst Du irgendwas konstruktives zum Thema sagen?
Thomas
Hi,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head></head>
<body>
<table border="1" width="100%" height="40">
<tr><td> </td> </tr></table>
<iframe src="http://www.google.de" name="frame0"
marginheight="0" marginwidth="0" width="100%" height="100%">
<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p>
</iframe></body></html>
Ich bin bei Frames nicht mehr so auf dem laufendem(wie auch ;-) ),
gab es aber nicht einmal die Bezeichnung frameborder=0 ?!
Dieses müsstest du dann in den Tag <iframe> einsetzen!
mfG.
the code