# Problem mit DOCTYPE und unterschiedlicher Darstellung im Mozilla



## son gohan (8. Oktober 2005)

Halli Hallo,

ich habe eine Webseite, beim der ich ein Element mit der CSS-Eigenschaft margin von einem anderen mit Abstand ausrichte.

Die komplette Seite ist eigentlich im „DOCTYPE Strict“ gemacht, doch bei einer Seite muss ich wegen eines Iframes den „DOCTYPE Frameset“ benutzen.

Im „DOCTYPE Frameset“ ist der Abstand aber etwas geringer als in der Variante Strict, kennt jemand das Problem?


----------



## Maik (8. Oktober 2005)

Kenne das von dir beschriebene Problem zwar nicht, aber warum korrigierst du nicht den margin-Wert für die 'Framset-Variante'


----------



## son gohan (8. Oktober 2005)

Hi, ich kann ja dem Browser nicht zeigen wann welcher DOCTYPE in der Seite aktuell ist ansonsten könnte ich ja die CSS Dateien etwas ändern für jeden DOCTYPE. Jedoch muss ich zugeben das mein Design etwas aufwendig geworden ist mit der Zeit und auch ein anderer Fehler sich mit eingeschlichen hat, aber vielleicht ist ja jemanden auch mal soetwas wie mir aufgefallen bei sich.


----------



## Maik (9. Oktober 2005)

Der Browser erkennt doch an der Doctype-Deklaration, welcher Dokumententyp für die aktuell geöffnete Seite gilt ....


----------



## son gohan (9. Oktober 2005)

Kann sein, dass der Browser das tut, aber wie kann ich ihm klar machen, dass er bei einem unterschiedlichen DOCTYPE ein andere CSS-Eigenschaft laden soll?

Ich denke mit PHP könnte das klappen, aber weiter lautet die Frage dann wie?


----------



## Gumbo (9. Oktober 2005)

iframe-Elemente sind nur mit dem Transitional-DTD erlaubt.


----------



## Maik (9. Oktober 2005)

son gohan hat gesagt.:
			
		

> aber wie kann ich ihm klar machen, dass er bei einem unterschiedlichen DOCTYPE ein andere CSS-Eigenschaft laden soll?


Indem du im HEAD der 'Frameset-Variante' eine andere CSS-Datei referenzierst. Oder habe ich was falsch verstanden?


----------



## son gohan (9. Oktober 2005)

> Indem du im HEAD der 'Frameset-Variante' eine andere CSS-Datei referenzierst. Oder habe ich was falsch verstanden?



Das ist nicht so einfach, alle Seiten werden dynamisch zusammengeführt und eine Änderung im head der CSS Datei würde bei alen anderen auch diese Änderung vornehmen.

Einzige Möglichkeit die ich sehe, wäre, wenn ich mit PHP sagen kann das bei einem bestimmten DOCTYPE nachfolgende CSS Datei geladen werden sollte, 

oder noch besser wäre wenn man das ganze PHP auch direkt in eine CSS Datei schreiben könnte, damit man nicht zwei große CSS Dateien bereitstellen müsste die dann auch noch geladen werden müssen.


----------



## Maik (9. Oktober 2005)

Hast du _Gumbos_ Hinweis gelesen und das Browserverhalten mit diesem Doctype überprüft?


----------



## son gohan (9. Oktober 2005)

Ach Schuldigung, jetzt geb ich hier schon vor lauter Ungeduld einen verkehrten DOCTYPE die ganze Zeit an, natürlich habe ich auch den DOCTYPE Transitional verwendet für die Seite mit Iframe.

Aber an dem Problem ändert es nichts wie beschrieben.


----------



## Gumbo (9. Oktober 2005)

Wie wird denn entschieden, welche Dokumenttypdeklaration genutzt wird? Daran ließe sich doch auch die Wahl des Stylesheets anknüpfen.


----------



## son gohan (9. Oktober 2005)

Also in meinen Seiten wird die Dokumenttypdeklaration includiert durch eine top.html aus dem Verzeichnis includ.

Ich könnte dort die DOCTYPE ändern, aber dann würden alle Seiten eine geänderte DOCTYPE haben, deswegen habe ich mich auch überlegt eine top_2.html zu machen wo dann der Transitional DOCTYPE drin steht, aber die CSS Dateien werden bei mir wiederum von einer anderen include Datei eingefügt.

Ich könnte jetzt dazu einfach eine neue includ Datei erstellen wo dann die CSS Datei steht mit veränderten CSS Angaben denke ich, es sei den man könnte in der CSS Datei PHP Code ausführen lassen und irgendwie über HTTP header und PHP den DOCTYPE  ausfindig machen um dann in dem Fall die veränderten Angaben zu übergeben in der CSS Datei selber.


----------

