Zur Navigation

frameset ohne border

1 Han (Gast)

Hi,
ich hoffe Ihr könnt mir helfen.

Also, das ist das Problem, ich habe ein frameset mit einigen frames und ich möchte, dass die einzelnen frames ohne umrandung dargestellt werden (klar wer will das schon, sieht meist mist aus).
Das W3C missbilligt die angabe eines border oder frameborder attributs im frameset-tag. Nur im frame-tag ist ja laut w3c ein frameborder zugelassen.
Dazu follgender kleiner code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd"> 
<html> 
<head> 
<title>A frame document</title> 
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
</head> 
<frameset cols="20%, 80%"> 
<frame src="frame1.html" noresize franeborder="0" marginheight="0" marginwidth="0"> 
<frame src="frame2.html" noresize frameborder="0" marginheight="0" marginwidth="0"> 
</frameset> 
</html> 

Wenn man diesen (laut W3C richtigen Code) nun von verschiedenen Browsern darstellen lässt, sieht zunächst alles richtig aus, unter Opera wird zwischen den einzelnen frames jedoch trotz des attributs frameborder="0" ein rahmen angezeigt. Lediglich das arrtibut border="0" im frameset kann dies ändern, nur damit wird verschwindet der rahmen unter opera. Bloß ist dieses attribut ja kein valides html 4.01.

Ich hoffe jemand weiß ne lösung, es kann doch nicht sein, dass man wählen muss, zwischen richtigem code und richtiger darstellung in allen browsern!

Danke im Voraus, Han!

12.03.2005 19:18

2 Jörg Kruse

Hallo Han,

der Rahmen ist nicht das einzige Problem: wenn man den Hintergrund der Frames unterschiedlich einfärbt, sieht man noch einen Zwischenraum im IE. Als ich noch mit Framesets gearbeitet hatte, hatte ich leider auch keine w3c-konforme Lösung gefunden, und stattdessen folgende Attribute für das frameset Element verwendet:

<frameset cols="20%, 80%" frameborder="0" framespacing="0" border="0">

Auch SELFHTML schreibt hierzu:

Leider gibt es hierbei bis auf den heutigen Tag Differenzen zwischen den Browsern, die dieses Feature seit langem unterstützen, und dem W3-Konsortium, das eine andere Variante durchsetzen will, an die sich die Browser aber nicht halten. Sie haben also die Auswahl, HTML-konform zu schreiben, und die weit verbreiteten Browser ignorieren Ihre Angaben, oder Sie schreiben für die Browser und verzichten auf die HTML-Konformität.

Quelle: SELFHTML, Eigenschaften von Frames, Rahmendicke bzw. unsichtbare Fensterrahmen

Die beiden Varianten werden dort dann nochmals ausführlich beschrieben. Ich hatte mich in diesem einen Fall ausnahmsweise gegen die W3C Konformität und für die browser-gerechte Variante entschieden. Das Problem hat sich für mich zwischenzeitlich nur dadurch gelöst, das ich seit einiger Zeit keine Framesets mehr erstelle

12.03.2005 19:45 | geändert: 12.03.2005 19:51

3 Han! (Gast)

Mist,

danke Dir trotzdem Jörg, war zwar nicht ganz die Antwort die ich erwartet hatte, aber ich habe mir sowas schon gedacht.
Ich hadere auch schon lange mit mir, ohne frames zu arbeiten, aber die dinger haben halt immense vorteile, vor allem, wenn man für server schreibt, die weder php noch andere scripte unterstützen.

Danke Dir, Han!

12.03.2005 19:54

4 Jörg Kruse

Ja, ich hatte auch Framesets und Iframes im Einsatz, als ich noch kein PHP zur Verfügung hatte, da kommt man dann nicht immer ganz drum rum.

12.03.2005 20:13

5 wrtlprnft

Naja, man kann sich auch auf dem eigenen Rechner einen Server aufsetzen (XAMPP), auf dem seine Seite scripten und dann bei jedem Update zum Beispiel mit httrack die lokale Seite kopieren und hochladen. Mit einem Shellscript (oder Batchdatei unter Windows) geht das dann auch recht komfortabel.
So hab ich das gemacht, bevor ich dann doch auf einen PHP-fähigen Webspace umgestiegen bin.

31.03.2005 12:11

... 5 Jahre später ...

6 Eskukes (Gast)

So geht es auch. Einfach "framborder auf no setzen"!

<frameset rows="100,*" FRAMEBORDER=no>

08.04.2010 12:43

7 Jörg Kruse

Der Threaderöffner suchte nach einer Lösung, die den W3C-Richtlinien entspricht - das ist bei frameborder nicht der Fall.

08.04.2010 20:23

... 2 Jahre später ...

8 oOChrisOo (Gast)

kann es bei deinem code auch am tippfehler liegen ?
franeborder<----- m statt n ^^

16.04.2012 21:59

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]