Frames mit XHTML und CSS ohne Border

Status
Nicht offen für weitere Antworten.

The_Fang

Mitglied
Hi
Koenntet ihr mir sagen, wie ich es anstellen muss das meine Seite keine Raender bei Frames anzeigt, ohne die XHTML Spezifikationen zu brechen.

Ich wollte meine Seite in XHTML konformen Code um schreiben alles andere ging auch gut *freu*. In XHTML ist das "border" Attribut im "frameset" Element verboten. Ich wollte das dann halt mit CSS machen, aber es klappt einfach nicht :(

Waere nett, wenn ihr mir Helfen koennt.
 
So klappts bei mir:


Code:
<html>

<head>
<title>Neue Seite 2</title>
<style type="text/css">
 .border { border-style: 0px } 
</head>

<frameset rows="*,*" class="border" >
  <frame name="Oben" src="neue_seite_3.htm">
  <frame name="Unten" src="neue_seite_4.htm">
  <noframes>
  <body>

  <p>Diese Seite verwendet Frames. Frames werden von Ihrem Browser aber nicht
  unterstützt.</p>

  </body>
  </noframes>
</frameset>

</html>

@Terrance & Phillip: der >>Link<< , da findest du genaueres.
 
Also irgendwie klappt das bei mir nicht :(

mit "padding:100px;" bekomme ich den ganzen Rand weiss, obwohl der rand laenger ist als 100 pixel. Die Farbe kann ich leider nicht aendern :(

Ich habe es im IE5, IE6, Mozilla und Opera getestet

@Terrance & Philipp
auf http://www.selfhtml.net findest du auch infos auf deutsch

P.S.
Wenn ich anstatt den 100px 10px einsetze ist der rand nur 10 Pixel weiss.
 
Zuletzt bearbeitet:
Ok, jetzt hast du´s geschafft, ich bin verwirrt :)

Kannst du dein Problem vielleicht mal anhand von ein bisschen Code erklären?
Und hängt die Padding-Sache überhaupt noch mit deinem ursprünglichen Problem zusammen oder ist das was neues?
 
@Avariel
Ich bin auch recht verwirrt mit den Browsern.
Die Padding sache haengt nur indirekt mit meinem Probelm zusammen. Ich habe halt verzweifelt nach irgend etwas gesucht.

Und hier der Code von der Frameseite.
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title</title>
</head>

<frameset cols="*,250">
	<frameset rows="25,*">
		<frame src="top.html" name="top" scrolling="no" noresize="noresize" />
		<frame src="main.html" name="main" />
	</frameset>
	<frameset rows="50,*">
		<frame src="logo.html" name="menu" scrolling="no" noresize="noresize" />
		<frame src="menu.html" name="logo" scrolling="yes" noresize="noresize" />
	</frameset>
</frameset>
</html>
 
Das ist ein bekanntes Problem, es lässt sich wirklich nur mit herumtricksen beheben.
ich hatte es auch mal und in irgendner html-newsgroop habe ich die lösung dafür gefunden. ist leider nicht sehr elegant.

wie genau das jetzt für xhtml aussehen muss kann ich dir nicht sagen, ich hatte es damals mit html4.01 transitional gemacht. aber ich bin sicher, mit einem bisschen rumprobieren wirst du es schon hinbekommen.

aalso:

also doctype in der frameset datei habe ich angegeben: "<!DOCTYPE HTML SYSTEM "$URL/frameset.dtd">"

dann habe ich eine datei namens frameset.dtd erstellt und in das selbe verzeichnis wie das frameset gepackt. diese datei enthielt folgendes:
Code:
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Frameset//EN">
<!ENTITY % HTML.Frameset "INCLUDE">
<!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!ATTLIST FRAMESET
frameborder (1|0) 1
framespacing NUMBER #IMPLIED
border NUMBER #IMPLIED
>
%HTML4.dtd;
diese kleine änderung hat es mir erlaubt, die attribute frameborder, framespacing und border in den frameset-tag zu packen, ohne dass der w3-validator meckert.

wie gesagt, nicht sehr elegant, aber es funktioniert.

falls du dich mit css gut auskennst würde ich dir aber auf jeden fall dazu raten, die ganze frame-geschichte mit css zu lösen, position: fixed; usw...
 
Original geschrieben von dgh.demon
Das ist ein bekanntes Problem, es lässt sich wirklich nur mit herumtricksen beheben.
ich hatte es auch mal und in irgendner html-newsgroop habe ich die lösung dafür gefunden. ist leider nicht sehr elegant.

wie genau das jetzt für xhtml aussehen muss kann ich dir nicht sagen, ich hatte es damals mit html4.01 transitional gemacht. aber ich bin sicher, mit einem bisschen rumprobieren wirst du es schon hinbekommen.

aalso:

also doctype in der frameset datei habe ich angegeben: "<!DOCTYPE HTML SYSTEM "$URL/frameset.dtd">"

dann habe ich eine datei namens frameset.dtd erstellt und in das selbe verzeichnis wie das frameset gepackt. diese datei enthielt folgendes:
Code:
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Frameset//EN">
<!ENTITY % HTML.Frameset "INCLUDE">
<!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!ATTLIST FRAMESET
frameborder (1|0) 1
framespacing NUMBER #IMPLIED
border NUMBER #IMPLIED
>
%HTML4.dtd;

diese kleine änderung hat es mir erlaubt, die attribute frameborder, framespacing und border in den frameset-tag zu packen, ohne dass der w3-validator meckert.

wie gesagt, nicht sehr elegant, aber es funktioniert.

falls du dich mit css gut auskennst würde ich dir aber auf jeden fall dazu raten, die ganze frame-geschichte mit css zu lösen, position: fixed; usw...

Ich finde und fand diese Lösung schon immer genial :) Ist ein ganz neuer Lösungsansatz, bin ich von alleine noch nicht draufgekommen :)
 
Ich werde es mal mit deinem Vorschlag ausprobieren. Vielen Dank

Vielleicht finde ich irgendwo noch etwas, wie man es mit CSS machen kann.
 
Status
Nicht offen für weitere Antworten.
Zurück