Ingo Lacheiner: Browser im CompatMode: IE6 hat dennoch falsche Darstellung

Habe zwei Website´s mit DIV-Boxen und CSS erstellt. Habe geachtet, dass sich IE6, IE7, Firefox im CSS1 Compatmode befinden. Habe sowohl XHTML alsauch CSS mittels W3C-Validatoren validiert. Finde auch keinen Fehler im CSS oder HTML. Trotzdem stellt IE6 das Layout nicht richtig dar. Das komische dabei - manchmal wird es korrekt angezeigt, manchmal nicht. Meist wird ein Hintergrundbild, dass mit background-image dargestellt wird einfach nicht angezeigt oder Hintergrundbilder werden an falscher Stelle angezeigt.

www.dr-eirich-homoeopathie.de und
www.hebamme-martina-eirich.de sind die Patienten :-(

Muss ich sonst noch etwas beachten?

  1. Hi Ingo,

    Habe zwei Website´s mit DIV-Boxen und CSS erstellt. Habe geachtet, dass sich IE6, IE7, Firefox im CSS1 Compatmode befinden.

    Das stimmt nicht ganz,

    <?xml version="1.0" encoding="utf-8"?>  
    <!DOCTYPE html  
         PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    

    Die ertse Zeile schickt den IE in den Quirks Mode, lösche sie einfach,
    dann müsste es gehen.

    Grüße,
    Engin
     GYRO

    --
    Hang the DJ | Team Vestax - Limited Edition
    Final-Rotation: Alt Gr+
    1. Hi Engin,

      Das stimmt nicht ganz,

      <?xml version="1.0" encoding="utf-8"?>

      <!DOCTYPE html
           PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

      
      >   
        
      Ich prüfe mittels TypoScript (Typo3) welcher Browser die Seite aufruft. Im IE 6 steht der XML-Prolog nicht dort!  
        
      Vielleicht doch noch andere Hinweise?  
      Danke Ingo
      
      1. Hallo Ingo,

        <?xml version="1.0" encoding="utf-8"?>

        <!DOCTYPE html
             PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

          
        
        > Ich prüfe mittels TypoScript (Typo3) welcher Browser die Seite aufruft. Im IE 6 steht der XML-Prolog nicht dort!  
          
        und woran machst du diese Browserunterscheidung fest? Am User Agent, der beliebig manipulierbar ist und ggf. auch gänzlich fehlen kann?  
        Auf meiner Testbüchse mit IE6 ist dieser XML-Prolog jedenfalls mit drin, im IE5.5 ebenso (aber da ist es egal, weil der sowieso keine Unterscheidung zwischen Quirks- und Standards-Mode kennt). Jedenfalls sind die Boxen in beiden Fällen wüst deformiert.  
          
        So long,  
         Martin  
          
          
        PS: Mit deinen Javascripts ist auch noch was im Argen: Der erste script-Block beginnt mit  
         if (version == "n3")  
        Wo soll bitte die Variable version herkommen?
        
        -- 
        Soso, der Klügere gibt nach.  
        Aber warum sollen sich immer nur die Dummen durchsetzen?  .oO(?)
        
        1. Moin Martin,

          mein IE6 gibt für den ersten Link das hier aus:

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <?xml version="1.0" encoding="utf-8"?>
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

          Wenn ich allerdings per JS den Modus abfrage, krieg ich css1Compat(?)! Ich dachte mit XML Prolog zwangsweise quirks mode (oder liegt das an der Reihenfolge)? Kannst du dazu noch irgendwas näheres sagen?

          Gruß
          Antipitch

          1. Moin,

            mein IE6 gibt für den ersten Link das hier aus:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <?xml version="1.0" encoding="utf-8"?>
            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

            und meiner sieht die XML-Deklaration *vor* dem DOCTYPE als erste Zeile.

            Wenn ich allerdings per JS den Modus abfrage, krieg ich css1Compat(?)! Ich dachte mit XML Prolog zwangsweise quirks mode (oder liegt das an der Reihenfolge)?

            Genau das. Der Quirks Mode wird ausgelöst bei

            * fehlendem DOCTYPE
             * DOCTYPE nicht in der ersten Zeile
             * DOCTYPE ohne URL für die DTD

            Schönen Tag noch,
             Martin

            --
            Wenn alle das täten, wass sie mich können,
            käme ich gar nicht mehr zum Sitzen.
            1. Moin Martin,

              Genau das. Der Quirks Mode wird ausgelöst bei

              * fehlendem DOCTYPE
              * DOCTYPE nicht in der ersten Zeile
              * DOCTYPE ohne URL für die DTD

              danke für die Antwort.

              Gruß
              Antipitch

  2. Moin Ingo,

    wie ich gerade @Martin gepostet habe: Mein IE6 gibt den XML Prolog zwar aus, befindet sich aber laut JS Abfrage im CSS1Compat Modus. Keine Hintergrundbilder, keine weiße Top-Navigation.

    Vielleicht liegt da auch gar nicht der Grund, sondern bei deinen verschachtelten positionierten <div>s. Hast du mal versucht das anders zu lösen? Erstens könntest du das auch ohne Positionierung machen, zweitens warum verschachtelt und drittens vielleicht wenigstens allen einen z-index geben. Evtl. mal testen, könnte mir gut vorstellen, dass der ein oder andere Browser da rumzickt...

    Der von Martin angesprochenen JS Fehler kommt noch hinzu (wird ja auch im FF ausgegeben), hat aber mit den Darstellungsproblemen wohl nichts zu tun.

    Gruß
    Antipitch

    1. Hallo Antipitch,

      Danke für die Hilfe. Hab jetzt einmal die JS-Fehler entfernt und die wichtigsten DIV-Container mit einem z-index versehen. Jedoch hat sich noch nichts verbessert.

      Ich dachte sobald der Browser im Compat-Mode ist, reagiert er Standardkonform. Dem ist also nicht so, sonst würde er meine verschachtelten DIV´s ja wohl nicht falsch darstellen. DIV´s verschachteln macht ja durchaus Sinn.

      Gruß
      Ingo

      1. Ich dachte sobald der Browser im Compat-Mode ist, reagiert er Standardkonform.

        Der IE ist nicht im Compat Mode.

        Struppi.

        1. Ich dachte sobald der Browser im Compat-Mode ist, reagiert er Standardkonform.

          Der IE ist nicht im Compat Mode.

          Struppi.

          Also das habe ich jetzt genug oft getestet (mittels JS) der ist im CSS1 Compat Mode und nicht im Quirks-Mode.

          Es gibt da ein Problem mit verschachtelten Div´s und Hintergrundbildern. Nehm ich das div="rahmen" weg wird das Hintergrundbild angezeigt. Also entweder ich Bau das ganze um. Mag ich nicht. Oder ich bringe IE6 bei Standardkonform zu arbeiten ;-)

          Vielleicht hat noch jemand einen Hinweis zu verschachtelten DIV´s und IE6.

          Danke Ingo

          1. Also das habe ich jetzt genug oft getestet (mittels JS) der ist im CSS1 Compat Mode und nicht im Quirks-Mode.

            Wenn du vom IE redest ist das 100% falsch

            Struppi.

          2. Hi Ingo,

            Also entweder ich Bau das ganze um. Mag ich nicht. Oder ich bringe IE6 bei Standardkonform zu arbeiten ;-)

            stopp!!!

            Brauchst nicht umzubauen, viel zu viel Arbeit im Typo Template. HTML so lassen, es geht einfach per css:

            Nimm alle positions, top, left und z-index aus den oberen divs raus und nimm das padding-top aus dem #rahmen. Dann brauchst du nur noch deine Top Navigation mit'm padding oder sonst wie nach rechts zu schieben. Hab das gerade lokal mit deinen Dateien und Bildern mal so gemacht. Läuft einwandfrei...

            Gruß
            Antipitch

            PS:: Warum mein hinterher wieder draufinstallierter IE6 die Angaben vertauscht und sich im compat mode befindet weiß ich nicht. Hat aber dem Darstellungsproblem definitiv nichts zu tun.

            1. Hi Ingo,

              Also entweder ich Bau das ganze um. Mag ich nicht. Oder ich bringe IE6 bei Standardkonform zu arbeiten ;-)

              stopp!!!

              Brauchst nicht umzubauen, viel zu viel Arbeit im Typo Template. HTML so lassen, es geht einfach per css:

              Vielen Dank! So funktioniert´s! Einige kleine Probleme mit padding gibts noch - aber jetzt bin ich wieder motiviert.

            2. PS:: Warum mein hinterher wieder draufinstallierter IE6 die Angaben vertauscht und sich im compat mode befindet weiß ich nicht.

              https://forum.selfhtml.org/?t=160333&m=1042672

              Struppi.

              1. Hi Struppi,

                https://forum.selfhtml.org/?t=160333&m=1042672

                Struppi.

                lies nochmal:
                PS:: Warum mein hinterher wieder draufinstallierter IE6 die Angaben vertauscht und sich im compat mode befindet weiß ich nicht.

                Bedeutet:

                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                <?xml version="1.0" encoding="utf-8"?>
                <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

                Darauf habe ich schon in meinem ersten posting in diesem thread hingewiesen (und Martin dazu befragt). Und auch darauf zu glauben, dass das Darstellungsproblem nichts mit quirks/ compat mode zu tun hat. Was ja auch so zu sein scheint.

                Gruß
                Antipitch