Mastershrimp: margin:auto im IE

Heyho!

Was ich immer schon mal wissen wollte ist, wie man einen <div>-Bereich vernünftig (!!) zentrieren kann.

Mozilla kann ja mit margin:auto was anfangen, aber der IE macht das fast nie (das war diese Box-Modell-Geschichte, ne?).

<div style="width:50%; margin:auto;">...</div>

ich könnte natürlich jetzt für die IE-User folgendes "Gematsche" (als etwas anderes kann man das leider nicht mehr bezeichnen) machen:
<div style="text-align:center">
 <div style="width:50%; margin:auto;">..</div>
</div>

Aber geht das nicht auch irgendwie anders?

Gruß

Mastershrimp

--
Kämpft für die Rettung von dem Genitiv!
  1. Hi,

    Mozilla kann ja mit margin:auto was anfangen, aber der IE macht das fast nie (das war diese Box-Modell-Geschichte, ne?).

    Nein, das ist nciht die Box-Model-Geschichte.

    <div style="width:50%; margin:auto;">...</div>

    Das funktioniert im IE dann, wenn

    • es sich um IE 6.0 handelt
    • die Seite im Strict-Modus dargestellt wird.

    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. Nein, das ist nciht die Box-Model-Geschichte.

      Hm. Ok. Dann halt was anderes.

      <div style="width:50%; margin:auto;">...</div>

      Das funktioniert im IE dann, wenn

      • es sich um IE 6.0 handelt
      • die Seite im Strict-Modus dargestellt wird.

      Aber wenn es _nicht_ der Strict-Modus ist, was dann?

      Gruß

      Mastershrimp

      --
      Kämpft für die Rettung von dem Genitiv!
      1. Hallo Mastershrimp

        Aber wenn es _nicht_ der Strict-Modus ist, was dann?

        http://aktuell.de.selfhtml.org/tippstricks/css/ausrichtung/index.htm

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
        1. Aber wenn es _nicht_ der Strict-Modus ist, was dann?
          http://aktuell.de.selfhtml.org/tippstricks/css/ausrichtung/index.htm

          Deute ich das richtig, dass das wieder auf folgendes Modell hinauslaufen würde?
          <div style="text-align:center">
           <div ...>
            Ich stehe im zentrierten Div!
           </div>
          </div>

          Das wäre dann ja mein Workaround von oben. Ich dachte das ging eleganter....Man gerät sonst leicht in einen <div>-Wald.

          Dann werde ich wohl dem IE zuliebe einen div-Wald pflanzen müssen....

          Furchtbar! Warum patchen die das nicht mal?

          Danke euch beiden!

          Wenn jemand noch eine elegantere Methode kennt, möge er sich bitte melden. Danke!

          Gruß

          Mastershrimp

          --
          Kämpft für die Rettung von dem Genitiv!
          1. Hi,

            Furchtbar! Warum patchen die das nicht mal?

            Der Patch heißt IE 6 notcompletelyquirks mode.

            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.
          2. Hallo Mastershrimp

            Das wäre dann ja mein Workaround von oben. Ich dachte das ging eleganter....Man gerät sonst leicht in einen <div>-Wald.

            Ja

            Dann werde ich wohl dem IE zuliebe einen div-Wald pflanzen müssen....

            Nicht in unbedingt.
            Es hängt davon ab, was das Elternelement sonst noch enthält.
            Wenn es nur das zentrierte Element enthält und Elemente, die die gesamte
            Breite einnehmen, gefloatet oder absolut positioniert sind, kann diesem
            das text-align:center zugewiesen werden. Ein zusätzliches Div ist dann
            nicht erforderlich.

            Furchtbar! Warum patchen die das nicht mal?

            Die sollen den IE 5 patchen?
            Würdest du eine alte Softwareversion, die eine Funktion oder Eigenschaft
            noch nicht kennt extra patchen, wenn es bereits neuere Versionen gibt?

            Und, der IE 6 kann margin:auto, wenn du ihm nicht gerade sagst, er solle so
            tun, als wäre er ein IE 5 (Quirx-Modus).

            Auf Wiederlesen
            Detlef

            --
            - Wissen ist gut
            - Können ist besser
            - aber das Beste und Interessanteste ist der Weg dahin!
            1. Furchtbar! Warum patchen die das nicht mal?

              Die sollen den IE 5 patchen?

              Nee. Den 6er.

              Und, der IE 6 kann margin:auto, wenn du ihm nicht gerade sagst, er solle so
              tun, als wäre er ein IE 5 (Quirx-Modus).

              Und genau dieses Verhalten sollte man wegpatchen.

              Gruß

              Mastershrimp

              --
              Kämpft für die Rettung von dem Genitiv!
              1. Hallo Mastershrimp

                Und, der IE 6 kann margin:auto, wenn du ihm nicht gerade sagst, er solle so
                tun, als wäre er ein IE 5 (Quirx-Modus).

                Und genau dieses Verhalten sollte man wegpatchen.

                Warum?
                Es steht dir frei, durch Wahl einer geeigneten Doctype-Angabe, dieses zu tun.

                Auf Wiederlesen
                Detlef

                --
                - Wissen ist gut
                - Können ist besser
                - aber das Beste und Interessanteste ist der Weg dahin!
                1. Warum?
                  Es steht dir frei, durch Wahl einer geeigneten Doctype-Angabe, dieses zu tun.

                  Dann müsste ich aber z.B. strict schreiben und so auf ein paar Elemente verzichten.

                  Und ich würde vom Box-Model-Bug des IE's aufgefressen werden, wenn ich mich außerhalb des Quirks-Modus bewege. Der ist ja im Transitional Modus wieder vorhande, wenn ich mich recht erinnere.

                  Naja. Wie gesagt. Ich machs dann halt mit 2 divs. Den Body mit text-align zentrieren wäre blöd, da dann alles auch zentriert wird.

                  Gruß

                  Mastershrimp

                  --
                  Kämpft für die Rettung von dem Genitiv!
                  1. Hallo.

                    Und ich würde vom Box-Model-Bug des IE's aufgefressen werden, wenn ich mich außerhalb des Quirks-Modus bewege. Der ist ja im Transitional Modus wieder vorhande, wenn ich mich recht erinnere.

                    Quirks <-> Compliant
                    Transitional <-> Strict
                    Du kannst also auch Quirks und Strict oder Transitional und Compliant miteinander kombinieren.
                    MfG, at

                  2. Hi,

                    Naja. Wie gesagt. Ich machs dann halt mit 2 divs. Den Body mit text-align zentrieren wäre blöd, da dann alles auch zentriert wird.

                    was mehr Aufwand wäre, als dem zentrierten DIV (und damit seinem Inhalt) wieder text-align:left zuzuweisen.

                    freundliche Grüße
                    Ingo

                  3. Hallo,

                    Dann müsste ich aber z.B. strict schreiben und so auf ein paar Elemente verzichten.

                    Was hältst du z.B. von

                    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                            "http://www.w3.org/TR/html4/loose.dtd">

                    Und ich würde vom Box-Model-Bug des IE's aufgefressen werden, wenn ich mich außerhalb des Quirks-Modus bewege. Der ist ja im Transitional Modus wieder vorhande, wenn ich mich recht erinnere.

                    Wie bitte?
                    http://msdn.microsoft.com/library/en-us/dnie60/html/cssenhancements.asp
                    http://www.fabrice-pascal.de/artikel/dtd/

                    Naja. Wie gesagt. Ich machs dann halt mit 2 divs. Den Body mit text-align zentrieren wäre blöd, da dann alles auch zentriert wird.

                    Was alles, außer dem zentrierten Element, ist in deinem Body?

                    Auf Wiederlesen
                    Detlef

                    --
                    - Wissen ist gut
                    - Können ist besser
                    - aber das Beste und Interessanteste ist der Weg dahin!
          3. Hi,

            Deute ich das richtig, dass das wieder auf folgendes Modell hinauslaufen würde?
            <div style="text-align:center">
             <div ...>
              Ich stehe im zentrierten Div!
             </div>
            </div>

            Das wäre dann ja mein Workaround von oben. Ich dachte das ging eleganter....Man gerät sonst leicht in einen <div>-Wald.

            Geht es auch.
            wenn die Zentrierung auch im IE 5.x funktionieren soll, entweder über text-align:center für body oder - in Deinem Beispiel mit einem 50% breitem Div über margin-left:25%.

            freundliche Grüße
            Ingo