Mick: Validator, FF IE Fehler und Darstellung

Hi,

ich habe mehrere Fragen bezüglich:
http://upload.volvo-welt.de/files3/test.html

Der Validator sagt dazu:"
end tag for "head" which is not finished"

Verstehe ich nicht, warum sollte das nicht richtig sein?

Die nächste Frage bezieht sich auf die Darstellung, welche ist richtig die im IE oder die im FF?

Falls die im FF richtig sein sollte, was muss ich tun um die IE-Darstellung
auch im FF zu erhalten? Ich weiss zwar das es an der fehlenden Breitenangabe des rechten DIV liegt aber es kann doch nicht sein, dass ich jetzt irgendeine fiktive, evetuelle Breitenangabe machen muss. Also ich habs mit 70% probiert und das klappt auch aber das kann ja nun nicht wirklich die Lösung sein oder?

Mick

Falls die Links nicht mehr gehen hier nochmal der Quelltext fürs Archiv:

  
<?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="en">  
<head>  
<style type="text/css">  
<!--/  
body{padding:0;margin:0;}  
#main{background-color:#C9D6A3;width:100%;}  
#left{background-color:red;width:200px;height:500px;float:left;}  
#right{background-color:yellow;height:500px;float:left;border:2px solid #000000;}  
#c{clear:both;}  
  
/-->  
</style>  
</head>  
<body>  
<div id="main">  
<h1>TEST</h1>  
<div id="left">&nbsp;</div>  
<div id="right">  
Glauben oder nicht glauben, Lorem Ipsum ist nicht nur ein zuf&auml;lliger Text. Er hat Wurzeln aus der Lateinischen Literatur von 45 v. Chr, was ihn &uuml;ber 2000 Jahre alt macht. Richar McClintock, ein Lateinprofessor des Hampden-Sydney College in Virgnia untersuche einige undeutliche Worte, "consectetur", einer Lorem Ipsum Passage und fand eine unwiederlegbare Quelle. Lorem Ipsum komm aus der Sektion 1.10.32 und 1.10.33 des "de Finibus Bonorum et Malorum" (Die Extreme von Gut und B&ouml;se) von Cicero, geschrieben 45 v. Chr. Dieses Buch ist Abhandlung der Ethiktheorien, sehr bekannt w&auml;rend der Renaissance. Die erste Zeile des Lorem Ipsum, "Lorem ipsum dolor sit amet...", kommt aus einer Zeile der Sektion 1.10.32.  
  
</div>  
  
</div>  
<p id="c"></p>  
</body>  
</html>  

  1. Hi,

    Der Validator sagt dazu:"
    end tag for "head" which is not finished"

    Klar, das Pflicht-Element title fehlt.

    Die nächste Frage bezieht sich auf die Darstellung, welche ist richtig die im IE oder die im FF?

    Im Zweifelsfall die im Firefox.

    <style type="text/css">
    <!--/
    body{padding:0;margin:0;}

    / body ist kein gültiger Selektor, daher wirken diese Deklarationen auch nicht.

    Was soll der Slash nach dem (m.E. inzwischen überflüssigen) <!-- ?
    Was soll der Slash vor dem (dann natürlich ebenso überflüssigen) --> ?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo,

      aha, das title ein Pflichelement ist wusste ich noch nicht, danke an alle.

      body{padding:0;margin:0;}

      / body ist kein gültiger Selektor, daher wirken diese Deklarationen auch nicht.

      Das verstehe ich nicht. Meinst du damit man kann keine CSS Anweisungen mehr für den body-tag geben?

      Was soll der Slash nach dem (m.E. inzwischen überflüssigen) <!-- ?

      Alte Angewohnheit, aber schadet m.E. auch nicht, oder doch?

      Eine Frage bleibt dennoch ungeklärt und anscheinend bin ich da nicht der einzige mit dem Problem, wenn ich mir viele Seiten anschaue inklusive:

      http://www.drweb.de/csstechnik/index.shtml
      http://www.css4you.de/refcolorsys.html
      http://nl3.php.net/manual/de/features.http-auth.php

      Die Darstellungunterschiede ergeben sich beim Verkleinern des Fensters.
      IE6

      Mir geht es speziel in meinem Fall darum, dass der Contenbereich nach unten abrutscht, sei es jetzt ohne Breitenangabe direkt oder mit Breitenangabe beim Verkleinern des Fensters(Wobei ich damit noch leben könnte),nur warum muss ich eine Breitenangabe machen und der FF nimmt nicht einfach wie der IE den zur Verfügung stehenden Platz. Wenn ich schreibe 70% trifft das zwar bei mir zu aber je nach Bildschirm ist das natürlich doof.

      Mick

      1. Hi,

        / body ist kein gültiger Selektor, daher wirken diese Deklarationen auch nicht.
        Was soll der Slash nach dem (m.E. inzwischen überflüssigen) <!-- ?
        Alte Angewohnheit, aber schadet m.E. auch nicht, oder doch?

        Lies diese Sätze bitte nochmal im Zusammenhang.

        Das verstehe ich nicht. Meinst du damit man kann keine CSS Anweisungen mehr für den body-tag geben?

        / body

        und

        body

        sind zwei vollkommen verschiedene Dinge.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Der Validator sagt dazu: "end tag for "head" which is not finished"

    Verstehe ich nicht, warum sollte das nicht richtig sein?

    Einfach das Kleingedruckte lesen: "in HTML the <head> element must contain a <title> child element"

  3. Moin,

    Der Validator sagt dazu:"
    end tag for "head" which is not finished"

    Wenn du weiter liest stehen dort noch ein paar Hinweise. In diesem liegt es daran, dass dein <head>-Element kein <title>-Element enthält. <head> *muss* als erstes ein <title>-Element enthalten. Korrekt wäre es also so:

      
    <!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="en">  
    <head>  
    <title>Test</title>  
    <style type="text/css">  
    <!--  
    body{padding:0;margin:0;}  
    #main{background-color:#C9D6A3;width:100%;}  
    #left{background-color:red;width:200px;height:500px;float:left;}  
    #right{background-color:yellow;height:500px;float:left;border:2px solid #000000;}  
    #c{clear:both;}  
      
    -->  
    </style>  
    </head>  
    
    

    Wie du sehen kannst, habe ich auch die XML-Deklaration entfernt. Diese schaltet den IE in den Quirksmodus, wodurch sich die unterschiedliche Darstellung zum Teil erklärt.

    Die nächste Frage bezieht sich auf die Darstellung, welche ist richtig die im IE oder die im FF?

    Die Darstellung im Firefox ist normalerweise immer die richtige, zumindest entspricht sie fast immer mehr dem Standard als die IE-Darstellung.

    Falls die im FF richtig sein sollte, was muss ich tun um die IE-Darstellung
    auch im FF zu erhalten?

    Das wird schwierig. Der umgekehrte Weg ist normalerweise erheblich einfacher. Erstelle deine Seite, teste nur mit Firefox (oder einem anderen, brauchbaren Browser wie Opera, Safari, Konquerer...). Das schau dir an was der IE falsch macht, und such dir die entsprechenden Hacks für den IE raus und binde Sie ein (z.B. über Conditional Comments). Zu diesen Problemen solltest du im Netz genug Material finden.

    Im SelfHTML-Weblog gibt es auch einen guten Artikel zu Spaltendesign mit CSS: Grundlagen für Spaltenlayout mit CSS
    Gruß

    Stareagle

    1. echo $begrüßung;

      Wenn du weiter liest stehen dort noch ein paar Hinweise. In diesem liegt es daran, dass dein <head>-Element kein <title>-Element enthält. <head> *muss* als erstes ein <title>-Element enthalten.

      Die Position des title-Elements innerhalb des head-Elements ist unerheblich. Es muss nur vorhanden sein, aber nicht zwingend an erster Stelle.

      <head>
      <title>Test</title>

      Ist es in deinem Beispiel auch nicht, denn zwischen <head> und <title> steht bei dir ein Text-Knoten mit einem Zeilenumbruch drin.

      Anzumerken ist noch, dass der XML-Prolog <?xml version="1.0" encoding="utf-8"?> den IE (mindestens den 6er) in den Quirksmode schickt, bei dem er den Box-Model-Fehler hat.

      echo "$verabschiedung $name";