Hanjo: Abstände bei <div> in verschiedenen Browsern

Moin,

ich habe folgendes Problem:

Ich plaziere auf der Seite, die ich gerade bearbeite, etliche divs a la:

<div style="position: absolute; top: 190px; left: 170px; width: 550px; padding: 5px;  z-index:4">

,,,,

</div>

Leider fällt die Positionierung zwischen IE und z.B. Mozilla, Netscape, Opera total verschieden aus.

Was kann man dagegen tun ?

TIA

Hanjo

  1. Hi Hanjo,

    Leider fällt die Positionierung zwischen IE und z.B. Mozilla, Netscape, Opera total verschieden aus.

    Was kann man dagegen tun ?

    sich mit den Suchbegriffen "doctype+switching" nach geeigneter Dokumentation dieses Umstands umsehen.

    Grüße,
     Roland

  2. Hallo,

    Leider fällt die Positionierung zwischen IE und z.B. Mozilla, Netscape, Opera total verschieden aus.

    Ich könnte mir vorstellen dass dasmit dem BoxModelBug des IE zu tun hat. Lösung http://tantek.com/CSS/Examples/boxmodelhack.html oder auf Deutsch http://www.fabrice-pascal.de/artikel/ie5boxmodel/

    Grüße
    Jeena Paradies

    --
    Ein großes Danke an die vielen Tester
    http://jeenaparadies.de/weblog/2004/april/danke/
    Kinder schlagen zu Erziehungszwecken ist in Deutschland verboten!
    http://jeenaparadies.de/artikel/kinderschlagen/
    Jeenas Bannertauschportal; selbstgemacht ;-)
    http://jeenasbannerbude.de
  3. Moin,

    danke, Ihr beiden, das gibt mir erstmal Material zum Nachdenken.

    Ganz verstanden habe ich es noch nicht.
    Meine Headerzeile ist:
    <?xml version="1.1" encoding="iso-8859-1" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

    Allerdings - und das scheint etwas auszumachen -  steht sie in der zweiten Zeile, weil es ein php-Dokument ist.
    Und bei dem muß och ja das <?xml version= etc. PHP-mäßig maskieren.
    Und in diesem PHP-Teil wird in der ersten Zeile die session gesetzt.
    Daher wird in dem resultierenden HTML die Kopfzeile in die zweite Zeile gesetzt und die erste freigelassen.

    Ich weiß nun auch nicht, wie ich das verhindern kann..

    Gruß von der Ostsee

    Hanjo

    1. Hi Hanjo,

      <?xml version="1.1" encoding="iso-8859-1" ?>

      die XML-Deklaration vor dem Doctype verursacht im M$IE6 den Box Model Bug. Empfehlung: Verwende XHTML 1.0 strict und verzichte auf sie.

      Grüße,
       Roland

      1. Hi Hanjo,

        <?xml version="1.1" encoding="iso-8859-1" ?>

        die XML-Deklaration vor dem Doctype verursacht im M$IE6 den Box Model Bug. Empfehlung: Verwende XHTML 1.0 strict und verzichte auf sie.

        Moin Roland,

        OK, ich habe die <?xml.. mal raugenommen und das Doctype von 1.0 genommen.

        Das hats aber noch nicht gebracht, vermutlich weil die Doctyle-declaration immer noch in der 2. Zeile steht wegen des PHP-Include...

        Wat nu -sparch Zeus, die Götter sind besoffen..

        Gruß von der Ostsee

        Hanjo

    2. Hi,

      <?xml version="1.1" encoding="iso-8859-1" ?>

      Basiert XHTML 1.1 wirklich auf XML 1.1? Wäre mir neu...

      Abgesehen davon, die in XML 1.0 nicht vorgeschriebene XML-Deklaration versetzt den IE immer in den Quirks mode.

      Allerdings - und das scheint etwas auszumachen -  steht sie in der zweiten Zeile, weil es ein php-Dokument ist.

      Das interessiert den Browser nicht, da bei ihm kein PHP ankommt.

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Allerdings - und das scheint etwas auszumachen -  steht sie in der zweiten Zeile, weil es ein php-Dokument ist.

        Das interessiert den Browser nicht, da bei ihm kein PHP ankommt.

        Moin Andreas.

        auf der mir angegeben Seite http://www.heise.de/ix/artikel/2004/03/136/
        steht:

        IE6 für Windows schaltet in den Quirks Mode, wenn kein Doctype angegeben oder auf eine HTML-Version vor 4.0 verwiesen wird. Ebenso bei HTML 4 und HTML 4.01 bei Angabe der Transitional- und Frameset-DTD, wenn kein System Identifier vorhanden ist. In allen anderen Fällen, beispielsweise bei allen XHTML-Doctypes, schaltet IE6 in den Standard Mode. Leider hat dieser Browser einen Bug und erwartet den Doctype immer in der ersten Zeile des Dokuments. <<

        Hab ich den letzten Satz verkehrt verstanden ?

        Gruß von der OStsee

        Hanjo

        1. Hi Hanjo,

          Leider hat dieser Browser einen Bug und erwartet den Doctype immer in der ersten Zeile des Dokuments. <<

          Hab ich den letzten Satz verkehrt verstanden ?

          Ich denke nicht, aber was Andreas meint ist, dass PHP ja vom Server interpretiert wird und nicht vom Browser. Gibt deine includierte Datei denn etwas aus?

          Gruß
          Ben

          1. Moin Ben,

            nein, sie gibt nichts aus.

            Es wird nur eine Leerzeile am Anfang des HTML erzeugt.
            Und ich weiß nicht, wie man das verhindern kann.

            Gruß von der Ostsee

            Hanjo

            1. hi,

              nein, sie gibt nichts aus.

              Es wird nur eine Leerzeile am Anfang des HTML erzeugt.
              Und ich weiß nicht, wie man das verhindern kann.

              in dem du im php-script an der stelle dafür sorgst, dass _keine_ leerzeilen da sind.

              gruss,
              wahsaga

  4. Hallo Hanjo,

    <div style="position: absolute; top: 190px; left: 170px; width: 550px; padding: 5px;  z-index:4">

    Die Style-Angaben sollten nur zu Entwurfszwecken direkt im Tag notiert werden. Der Code wird schlanker und wartbarer, wenn Du in diesem Beispiel eine ID vergibst und die CSS-Angaben in einen CSS-Bereich, bzw. besser noch externe Datei auslagerst.

    Leider fällt die Positionierung zwischen IE und z.B. Mozilla, Netscape, Opera total verschieden aus.

    Was heißt "total verschieden"? Kann mir das, abgesehen vom Doctype-Verhalten, nicht erklären. Vielleicht hast Du irgendwo noch fehlerhaftes CSS, bzw. Markup drin.

    MfG
    Danny