|
|||
![]()
Ich habe ein Problem bei der Darstellung einer XHTML Datei mit folgendem Code:
HTML-Code:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="de"> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> <head> <title>Selektoren</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> </head> <body> <div id="kopf">Kopfbereich der Webseite</div> <div id="inhalt"> <h1 class="wichtig">Eine wichtige Überschrift</h1> <p>Die Standardfarbe für Absätze ist Grün</p> <h1 class="details">Eine Überschrift für Details</h1> <p class="details">Hier ein Absatz mit Details</p> <h1>Eine Standard Überschrift</h1> <p>Und nun wieder ein Standard-Absatz</p> </div> <div id="fuss" class="detail">Fußbereich der Webseite</div> </body> </html> Code:
h1, p { color:green; } h1.wichtig { color:red; } .detail { color:blue; } #kopf { color:white; background:black; } #inhalt { background:silver; } #fuss { background:silver; } Wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere und im Firefox Browser öffne, dann erhalte ich die Fehlermeldung: Zitat:
Wenn ich aber den XHTML Code in einer Datei mit der Endung *.html speichere, dann wird die Seite zwar mithilfe des CSS dargestellt, aber der dann im Firefox arbeitende Parser ist dann nicht der für XHTML, sondern der für HTML. Was sich auch zeigen läßt, wenn man z.b. invaliden XHTML Code wie z.b. ein Tag, bei dem das Endtag fehlt, in den XHTML Code einfügt, denn dann wird die Seite immer noch dargestellt, was bei XHTML nicht sein dürfte. Daher würde ich nun gerne wissen, warum der Browser die CSS Datei nicht dazuläd, wenn ich den XHTML Code in einer Datei mit der Endung *.xhtml speichere. Weiß das jemand? PS: Das Problem tritt beim direkten lokalen Laden der HTML Dateien mit dem Browser auf, es liegt also kein Webserver dazwischen. Und das Firefox den XHTML Code als HTML Code mit dem HTML Parser und nicht mit dem XHTML Parser behandelt, wenn die Datei auf *.html endet, kann man leicht herausfinden, in dem man einen fehlerhaften Code in den Code einfügt. Z.B. wird folgende falsche Verschachtelung HTML-Code:
<p><h1>Test</p></h1> Speichert man die Datei aber mit der Endung *.xhtml ab, dann wirft der fehlerhafte Code, wie man es von XHTML erwartet, einen Parser Fehler. |
Sponsored Links |
|
|||
![]() Zitat:
Zitat:
Zitat:
P.S. Die XML-Deklaratuion ist optional, wenn du UTF-8 als Kodierung verwendest. Zudem sollte in der Meta-Angabe nicht der tatsächlich verwendete Medientyp stehen, sondern immer text/html (nicht alle Browser, für die diese Angabe gedacht ist, können mit application/xhtml+xml umgehen).
__________________
Über Internet Explorer 8: Noch bis 8. April 2014 wird der Internet Explorer 6 mit Sicherheitsupdates versorgt. Bereits jetzt kann dieser Browser aber vollständig durch den IE8 ersetzt werden. Ältere Betriebssysteme und Browserversionen werden von Microsoft nicht mehr unterstützt. Auch Programme, die den IE7 benötigen, sind kein Argument gegen IE8, da dieser über entsprechende Kompatibilitätsschichten verfügt. Ab sofort gilt daher der Internet Explorer 8 als vorausgesetzer Mindeststandard. |
Sponsored Links |
|
||||
![]() Zitat:
Zitat:
Zitat:
XHTML spezifische Fehler meldet Firefox eigentlich, wenn die Datei als XHTML Datei erkannt wurde. Selbst wenn ich den Code auf das allernötigste reduziere, bleibt es bei der Fehlermeldung und ich finde keinen Fehler im Code: HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="de"> <head> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> </head> <body> </body> </html> Zitat:
Standardmäßig es als text/html zu veschicken ist auch falsch, weil der Code dann immer mit dem HTML Parser interpretiert wird. In diesem Fall handelt es sich aber um eine Offlinedatei und ich will hier XHTML testen. Deswegen steht das Meta Tag drin, aber man könnte es auch komplett weglassen, wenn ein Webserver benutzt wird und der das übernimmt. |
|
|||
![]()
So, nach einem direkten Vergleich mit dem Beispielcode auf dieser Webseite des W3C:
XHTML 1.1 - Conformance Definition Habe ich den Fehler nun gefunden. beim xmlns="http:// ... Tag fehlte nach http ein Slash. Das war's, jetzt funktioniert es. Dieser Text war auch hilfreich, er hat mich dazu gebracht nochmal zu vergleichen und einen Code vom W3C zu nutzen. Zitat:
Danke für die Hilfe. |
|
||||
![]() Zitat:
![]() Der Validator hätte es dir verraten ![]() Zitat:
Zitat:
Zitat:
Dass der Medientyp in dem Element angegeben wird, ist das eigentlich Unsinnige dabei. Deshalb entfällt die Angabe ja auch in den aktuellen Versionen von HTML und XHTML. Dass im meta-Element immer text/html angegeben werden sollte (obwohl das nicht den Tatsachen entspricht), hat aber, wie gesagt, damit zu tun, dass nicht alle Browser die Kodierung richtig herauslesen können, wenn etwas anderes als text/html enthalten ist. |
![]() |
Stichwörter |
css, fehler, firefox, html, xhtml |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Seite wird im Firefox nicht richtig angezeigt | donnar | CSS | 1 | 27.11.2008 21:52 |
xhtml code im html-form | LordShadow | (X)HTML | 33 | 02.07.2008 17:48 |
Firefox zeigt die Seite nicht richtig an | Ibubeta | CSS | 12 | 29.03.2007 11:34 |
XHTML 1.0 strict: interpretation von alt und title (IMG) vom IE7, Opera und Firefox | braindead | (X)HTML | 5 | 11.03.2007 16:57 |
HTML Code auf Seite darstellen | Lloyd Larkin | Serveradministration und serverseitige Scripte | 12 | 01.08.2006 14:10 |