molily: Browseranzeige

Beitrag lesen

"inline" für IE statt "inline-block" sollte doch reichen? [http://bittersmann.de/articles/inline-block/#solution]

Der Hack besteht ja nicht aus display:inline, sondern aus hasLayout für Inline-Elemente.

Wenn du notierst

li { display: inline-block }
* html li { display: inline }

Dann würde man denken, dass display im IE 6 nun den Wert inline hat und die erste Deklaration schlicht überschrieben wird. Das ist aber nicht (vollständig) der Fall.

Es ist im IE 6 *nicht* dasselbe wie direkt zu schreiben:

li { display: inline }

Es ist auch nicht identisch mit

li { display: inline-block; display: inline }

Die Aufteilung in zwei Regeln macht vielmehr folgendes:

  • display: inline-block triggert hasLayout
  • display: inline fügt *dann* noch ein Inline-Verhalten hinzu - hasLayout bleibt

Das ist auch unter Resetting hasLayout beschrieben:

»The display-property differs: while 'inline-block' sets haslayout = true, the flag will not be reset to false later on by overriding the value with 'block' or 'inline' in another rule set.«

hasLayout ist nun etwas ganz anderes als display:inline-block und im IE näher an Float (wenn auch ohne die seltsamen Float-spezifischen Bugs), weil eine Float-Box ebenfalls hasLayout hat. Dieses Sonderverhalten von hasLayout-Boxen, was man in standardkonformen Browsern nicht einmal teilweise hat, weil display:inline-block dort keinen BFC auslöst, muss man zu zähmen wissen. Das kommt in einem einfachen Beispiel natürlich nicht rüber, aber in einem komplexen Layout würden diese »Spalten« wiederum Mehrspaltigkeit beinhalten. Spätestens dann werden einem starke Unterschiede zwischen den Browsern auffallen.

Mathias

0 79

Browseranzeige

patrick
  • html
  1. 2
    mrjerk
    1. 0
      patrick
      1. 0

        Doppelposting

        Gunnar Bittersmann
        • zur info
        1. 0
          patrick
          1. 0

            Browseranzeige

            Gunnar Bittersmann
            • css
            1. 0
              patrick
              1. 0
                EKKi
                1. 0
                  patrick
                  1. 0
                    Gunnar Bittersmann
                  2. 0
                    Gunnar Bittersmann
                    1. 0
                      patrick
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          patrick
                          1. 0
                            Gunnar Bittersmann
                            1. 0
                              patrick
                              1. 0
                                EKKi
                          2. 1
                            Der Martin
                            1. 0
                              patrick
                              1. 0
                                EKKi
                                1. 0
                                  patrick
                                  1. 0
                                    Der Martin
                                    1. 0
                                      MudGuard
                                    2. 0
                                      patrick
                  3. 0
                    EKKi
                    1. 0
                      patrick
                      1. 0
                        EKKi
                        1. 0
                          patrick
                          1. 0
                            EKKi
                            1. 0
                              patrick
                              1. 0
                                EKKi
      2. 0
        EKKi
        1. 0
          Gunnar Bittersmann
  2. 0
    Kalle_P
    1. 0
      patrick
      1. 0
        Gunnar Bittersmann
  3. 0
    Gunnar Bittersmann
    1. 9
      molily
      1. 1
        Gunnar Bittersmann
        1. 0
          Malcolm Beck´s
          1. 0
            at
            1. 0
              Malcolm Beck´s
        2. 4
          ChrisB
          1. 0
            Gunnar Bittersmann
            1. 0
              ChrisB
              1. 0
                Gunnar Bittersmann
                1. 0
                  ChrisB
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      suit
                      1. 0

                        Zwischenmenschlich hilfreich

                        Schuer
            2. 0
              molily
            3. 2
              suit
              1. 0
                Gunnar Bittersmann
                1. 0
                  suit
                2. 0
                  molily
        3. 3
          molily
          1. 0
            Gunnar Bittersmann
            1. 0
              molily
              1. 0
                Gunnar Bittersmann
            2. 0
              ChrisB
              1. 0
                Harlequin
              2. 0
                Gunnar Bittersmann
                1. 0
                  EKKi
                  • meinung
            3. 0
              at
              1. 0
                Gunnar Bittersmann
                1. 0
                  at
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      at
      2. 0
        Struppi
        1. 0
          molily
          1. 0
            Struppi
            1. 0
              molily
              1. 0
                Gunnar Bittersmann
                1. 0
                  molily
                  1. 0
                    Gunnar Bittersmann
                    1. 1
                      molily
            2. 0
              suit
              1. 0
                Struppi
                1. 0
                  suit