Aqua: IE-Hack gegen das Margin-Problem gesucht! (Float)

Hallo!

Tom sagt in seinem Posting unter:
[pref:t=78557&m=454972]

Hast Du auch einen IE-Hack gegen das Margin-Problem des ersten
Float-Divs eines Abschnittes (bis zum clear:both)?

Kann mir bitte jemand sagen wann dieser BUG auftritt,
wie er aussieht, und was man dagegen macht?  (eventuell mit Beispiel?)

Danke!
Aqua

  1. Hallo,

    Hast Du auch einen IE-Hack gegen das Margin-Problem des ersten
    Float-Divs eines Abschnittes (bis zum clear:both)?

    Kann mir bitte jemand sagen wann dieser BUG auftritt,
    wie er aussieht, und was man dagegen macht?  (eventuell mit Beispiel?)

    ich vermute es geht um einen Versatz von einigen Pixeln innerhalb eines Div durch das benachbarte Div.
    Schau dir mal http://www.lipfert-malik.de/webdesign/tutorial/bsp/dreispaltenplusx.html an,
    der mittlere Block hat keine "Stufen", aber wenn du in Zeile 102
    #mi{float:left;margin-left:-5px;margin-right:5px;}
    per #mixx{... rausnimmst siehst du den Fehler.

    Drüber Zeile 88 und weiter ist ein nicht genutzter workaround per expression (Höhe der Nachbardivs
    wird angepasst), Expressions sind oft instabil und daher nicht empfehlenswert und denn beim Beispiel
    auch nicht genutzt und auskommentiert.

    Grüsse

    Cyx23

    1. Hallo,

      Expressions sind oft instabil und daher nicht empfehlenswert

      Gibt es da irgendwo mehr informationen darüber? Stürzt da der IE ab oder was passiert denn da?

      Grüße
      Jeena Paradies

      --
      Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
      <img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
      Bambergs Fasching - nur ein großer (Werbe-)Flop?
      http://jeenaparadies.de/artikel/fasching/
      Jeenas Bannertauschportal; selbstgemacht ;-)
      http://jeenasbannerbude.de
      1. Hallo,

        Expressions sind oft instabil und daher nicht empfehlenswert
        Gibt es da irgendwo mehr informationen darüber? Stürzt da der IE ab oder was passiert denn da?

        grundsätzlich verhält es sich wie eine DHTML-Zeitschleife (ähnlich interval).

        Daraus ergeben sich schon die ersten Probleme; beim Aufruf per JavaScript statt
         im CSS kann immerhin komfortabler über Funktionen das Vorhandensein der benötigten
        Objekte abgefragt werden, dennoch sind auch solche Expression oft instabil.

        Sofort reproduzierbare Abstürze sind auch abhängig vom Doctype, Beispiele müssten
        inzwischen auch im Archiv zu finden sein, beim anspruchsvollen Rendermodus wird
        der IE hinsichtlich der expression äusserst instabil.

        Gerade die benötigten Lösungen wie max-width sind auch instabil weil eine Änderung
        der Fenstergrösse nicht verkraftet wird, aber auch harmlose Sachen stürzen schonmal
        ab (wie das im thread genannte Beispiel mit auskommentierten Expressions).
        Um max-width umzusetzen sind Tabellen, notfalls per DHTML erzeugt, verlässlicher,
        und für das float-Problem geht es ja auch per margin und CSS-Weiche.

        Und da wo expression auch mal funktionieren können, etwa um position:fixed zu
        simulieren, gibt es nervende Flackereffekte, also wird position:fixed doch besser
        mittels eines scrollbaren Divs realisiert.

        Grüsse

        Cyx23

        1. Hallo,

          grundsätzlich verhält es sich wie eine DHTML-Zeitschleife (ähnlich interval).

          Sorry aber ich habe noch nie was von einer DHTML-Zeitschleife gehört was ist dass denn nun wieder?

          Sofort reproduzierbare Abstürze sind auch abhängig vom Doctype, Beispiele müssten
          inzwischen auch im Archiv zu finden sein, beim anspruchsvollen Rendermodus wird
          der IE hinsichtlich der expression äusserst instabil.

          Also stürzt der IE dann richtig ab? So dass man ihn wieder neu starten muss oder verhält er sich dann einfach so als ob es die expressions gar nicht gäbe?

          Gerade die benötigten Lösungen wie max-width sind auch instabil weil eine Änderung
          der Fenstergrösse nicht verkraftet wird, aber auch harmlose Sachen stürzen schonmal
          ab (wie das im thread genannte Beispiel mit auskommentierten Expressions).
          Um max-width umzusetzen sind Tabellen, notfalls per DHTML erzeugt, verlässlicher,
          und für das float-Problem geht es ja auch per margin und CSS-Weiche.

          Ich frage das weil ich gerade bei der neuen Version meiner Seite max-width mit expressions mache, und mir dieser Nachteil vorher noch nicht bewusst war. Ich habe meine Seite schon oft im IE angeschaut, und zwar in den Versionen von 3-6 und noch keinen Absturz erlebt. Das einzige abgesehen davon dass 3-4 die expressions nicht verstehen war, dass der IE6 mir bei einer 800er Auflösung einen horizontalen Scrollbalken hingezaubert hat, der manchmal nach dem neuladen wieder weg war. Außerdem hat der IE beim verändern der Fenstergröße auch erst einmal einen reload gebraucht um sich anzupassen. IE 5.x hat da keine Probleme gemacht. Wenn es bei der Seite zu reproduzierbaren Abstürzen kommt, dann muss ich mir doch was anderes einfallen lassen. Hat schon jemand mit http://jeenaparadies.servebeer.com/open/Webs/jeenas-home5/ einen Absturz mit dem IE gehabt und mir das nicht gemeldet? Dann wäre es jetzt an der Zeit...

          Grüße
          Jeena Paradies

          --
          Ich bin mir ziemlich sicher dass es im Leben mehr gibt als nur wirklich wirklich gut auszusehen ...
          <img src="http://home.arcor.de/vivosomuertos/self/zoolander.jpg" border="0" alt="">
          Bambergs Fasching - nur ein großer (Werbe-)Flop?
          http://jeenaparadies.de/artikel/fasching/
          Jeenas Bannertauschportal; selbstgemacht ;-)
          http://jeenasbannerbude.de
          1. Hallo,

            grundsätzlich verhält es sich wie eine DHTML-Zeitschleife (ähnlich interval).
            Sorry aber ich habe noch nie was von einer DHTML-Zeitschleife gehört was ist dass denn nun wieder?

            die schwammige Bezeichnung DHTML (dynamic..) ist dir aber geläufig?
            Wenn du mit setInterval o. -Timeout immer wieder einen Zustand abfragst hast
            du das gleiche was expression per JScript machen.
            Daraus ergeben sich Probleme wie CPU-Belastung, besonders bei mehreren Expression,
            und die Möglichkeit bei Reload oder Resize Fehler zu erhalten da sich verschiedene
            Abläufe überlagern.

            Hier ist immerhin die zeitliche Verzögerung beim IE zu sehen:http://www.lipfert-malik.de/webdesign/tutorial/bsp/positionfixed.html
            (Deswegen die alternative http://www.lipfert-malik.de/webdesign/tutorial/bsp/position-fixed.html)

            Also stürzt der IE dann richtig ab? So dass man ihn wieder neu starten muss oder verhält er sich dann einfach so als ob es die expressions gar nicht gäbe?

            Absturz. Schau doch mal ins Archiv, da müsste ein Beispiel stehen.

            Ich frage das weil ich gerade bei der neuen Version meiner Seite max-width mit expressions mache, und mir dieser Nachteil vorher noch nicht bewusst war. Ich habe meine Seite schon oft im IE angeschaut, und zwar in den Versionen von 3-6 und noch keinen Absturz erlebt. Das einzige abgesehen davon dass 3-4 die expressions nicht verstehen war, dass der IE6 mir bei einer 800er Auflösung einen horizontalen Scrollbalken hingezaubert hat, der manchmal nach dem neuladen wieder weg war. Außerdem hat der IE beim verändern der Fenstergröße auch erst einmal einen reload gebraucht um sich anzupassen. IE 5.x hat da keine Probleme gemacht. Wenn es bei der Seite zu reproduzierbaren Abstürzen kommt, dann muss ich mir doch was anderes einfallen lassen. Hat schon jemand mit http://jeenaparadies.servebeer.com/open/Webs/jeenas-home5/ einen Absturz mit dem IE gehabt und mir das nicht gemeldet? Dann wäre es jetzt an der Zeit...

            Es hängt auch vom Doctype ab, aber bei mir schaut deine Seite erstmal so aus:

            Anfrage:
            SELECT content.shorttopic, content.sektion, comment.id, comment.name, comment.kommentartext, datum, DATE_FORMAT(content.date, "%d.%m.%Y") AS date FROM content, comment WHERE comment.bezug=content.id ORDER BY datum DESC LIMIT 10;
            Antwort:
            No Database Selected
            Fehlercode: 1046

            Bau doch einfach für max-width eine Tabelle ein, per conditional comment im HTML
            ist vielleicht etwas unübersichtlich, alternativ kannst du ja per JavaScript nach
            onload einen Divinhalt um eine Tabelle ergänzen.

            Grüsse

            Cyx23

          2. Hallo Jeena

            Ich frage das weil ich gerade bei der neuen Version meiner Seite max-width mit expressions mache, und mir dieser Nachteil vorher noch nicht bewusst war.

            Das ist wohl meine Schuld.
            Ich war mir der Probleme, die sich daraus ergeben können nicht bewusst.
            Das würde bedeuten, dass die maximale Breite doch besser auf andere Art simuliert werden sollte, wobei ich dann dann wohl eine Javascript-Lösung verwenden würde, die (nur für den IE) beim Laden und beim Resizen der Seite aufgerufen wird.

            MFG
            Detlef

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

            Noch eine kurze Anmerkung zu deiner Homepage.

            Ich schrieb dir in http://forum.de.selfhtml.org/archiv/2004/3/76205/#m440092:

            min-width:315px;
            -> nur für Startseite, muss für andere noch erhöht werden werden. Gibt die Mindestbreite an, die nötig ist, damit bei der breiteste Inhalt von main nicht über subnav rutscht, solange margin-left von main größer als die Breite von subnav ist.

            Du hast dies zwar auf 330px erhöht, das reicht aber für die Seite Webdesign nicht aus. Damit Philosophie nicht die subnav überlagert (bei 130% Schriftgröße, bevor es nach unten rutscht), werden schätzungsweise etwa 475px nötig sein.

            MFG
            Detlef

            --
            - Wissen ist gut
            - Können ist besser
            - aber das Beste und Interessanteste ist der Weg dahin!
  2. * html #gefloatetesElement {margin: 0 -3px;}

  3. Hello,

    es gibt bei den float-Elementen das Problem, dass der linke margin des ersten Elementes in einer reihe von gefloateten vom IE immer doppelt genommen wird.

    Ein Hack würde also voraussetzen, dass man das Margin-Attribut überschreibt oder sogar rechnen könnte. Es gibt ja optionale Statements für swn IE, die ich mir aber leider nicht gemerkt habe.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen