Sven: Wo steckt der verdammte IE-Bug?

Moin,

es gibt Bugs beim IE, an denen man sich aufhängen kann.

Seit mehreren Stunden versuche ich folgendes auch auf dem IE laufen zu bringen:

http://sveni.dnsalias.net/forum/welcher-ie-bug/bugfile.htm [1]

Mein Problem, worum es sich dreht:

<h3><a href="#">Portal</a></h3>

während Opera und Mozilla und sonst alle intelligenten Browser in der Lage sind, dieses Ding _so_zu_formatieren_wie_es_im_CSS_steht_, freut sich der IE ganz doll, wenn er den CSS-Autor mit Missverhalten ärgern kann.

Momentan gerade zeigt er das Ding so an, wie es angezeigt werden soll, wenn man es mit der Maus hovert. In der Originaldatei, die ich leider aufgrund der (imho) enormen Komplexität (allein das Hauptcss ist ein paar dutzend KB groß) schlecht online stellen kann, funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist. Oder so ähnlich.

Sehr seltsam.

Gruß,

Sven

[1] Ja, absichtlich nicht verlinkt.

--
  TERMine: * 28.07.2004 - max. 30.08.2004 ** potentielle Abwesenheitsgefahr
           * 04.08.2004                   ** Namenstage für die "Sven"'s im Forum (scnr)
  MAIL@me: Die Abwesenheitsmail:  mailto:sommerferien04.20.wauwau@spamgourmet.org
 SELFcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
  1. Moin!

    [1] Blockelemente haben meines Wissens innerhalb von H1...H6 nichts zu suchen. Das ist zumindest schlechter Stil.

    [2] Wenn ein Browser einen Link so anzeigt, wie er bei :hover dargestellt werden sollte würde ich den Fehler im CSS suchen und zwar womöglich bei der Reihenfolge. Ohne Quelltext lässt sich nichts sagen.

    (allein das Hauptcss ist ein paar dutzend KB groß)

    Sorry, aber selbst das ist schon schlecht. (Erwerbsregel 55487: Größe der Startseite mit allen Elementen: max 15kb...)

    Du hast HTML und CSS valdiert?

    http://validator.w3.org
    http://jigsaw.w3.org

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hi,

      [1] Blockelemente haben meines Wissens innerhalb von H1...H6 nichts zu suchen.

      das ist zwar richtig, aber <a> ist ein Inline-Element.

      Übrigens kann ich bei der genannten Seite keine Merkwürdigkeit feststellen.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Moin!

        funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist

        das ist zwar richtig, aber <a> ist ein Inline-Element.

        funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist

        ...

        Nein, Ich kann den fehlers mangels eines greifbaren IE auch nicht nachvollziehen. Deswegen die grundsätzliche Aussagen.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. Hi,

          funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist

          das ist zwar richtig, aber <a> ist ein Inline-Element.

          funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist

          HTML entscheidet nicht anhand irgendeiner CSS-Eigenschaft, was als block-Element und was als inline-Element gilt.
          Eher umgekehrt - was in HTML als block-Element gilt, hat in den meisten Browsern im default-CSS einen der Werte für display, die auch in CSS als blocklevel-Element gelten - verpflichtend ist das aber nicht.

          Aus HTML-Sicht ist a ein inline-Element, da es in der Parameter-Entity %inline; enthalten ist.

          <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

          (siehe http://www.w3.org/TR/html401/sgml/dtd.html#inline)

          Da sieht man zwar kein a, aber wenn man sich die Einzelteile anguckt (die sind dort ja geschickterweise 1. verlinkt und 2. direkt vorher definiert), findet man:

          <!ENTITY % fontstyle
           "TT | I | B | BIG | SMALL">

          <!ENTITY % phrase "EM | STRONG | DFN | CODE |
                             SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >

          <!ENTITY % special
             "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">

          <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">

          Und siehe da - %inline; enthält a, weil es in %special; enthalten ist.

          Für %block; kannst Du hier nachgucken: http://www.w3.org/TR/html401/sgml/dtd.html#block

          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. Moin,

            funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist

            das ist zwar richtig, aber <a> ist ein Inline-Element.

            funktioniert die Formatierung des <h3>'s bzw. <a>'s nur, wenn man dem <a> _nicht_ display:block; zuweist
            HTML entscheidet nicht anhand irgendeiner CSS-Eigenschaft, was als block-Element und was als inline-Element gilt.
            Eher umgekehrt - was in HTML als block-Element gilt, hat in den meisten Browsern im default-CSS einen der Werte für display, die auch in CSS als blocklevel-Element gelten - verpflichtend ist das aber nicht.
            ...

            ich dachte, es wäre hinreichend bekannt, dass <a> kein Blockelement ist?

            *scnr*

            Gruß,

            Sven

            --
              TERMine: * 28.07.2004 - max. 30.08.2004 ** potentielle Abwesenheitsgefahr
                       * 04.08.2004                   ** Namenstage für die "Sven"'s im Forum (scnr)
              MAIL@me: Die Abwesenheitsmail:  mailto:sommerferien04.20.wauwau@spamgourmet.org
             SELFcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
            1. Moin!

              ich dachte, es wäre hinreichend bekannt, dass <a> kein Blockelement ist?

              Ja, aber ob der IE das das weiss, wenn im Stylesheet was anderes steht? Mangels offener Quellen kann man bezüglich der Reaktion dieses Browsers nur vermuten....

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
              1. Moin fastix,

                ich dachte, es wäre hinreichend bekannt, dass <a> kein Blockelement ist?
                Ja, aber ob der IE das das weiss, wenn im Stylesheet was anderes steht? Mangels offener Quellen kann man bezüglich der Reaktion dieses Browsers nur vermuten....

                vor kurzem hatte ich bereits (hier) eine solche Diskussion, und herausgekommen ist, dass die Blockelement/Inlineelement-Unterscheidung entweder auf der HTML/XHTML-Seite stattfinden kann, also <div> => Blockelement, <span> => inlineelement, usw., und auf der CSS-Seite, wo es eben egal ist, ob nun alle eigentlichen Blockelemente INlineelemente sind, usw.

                Fakt ist, dass damit bisher alle richtigen Browser sowie der IE klar gekommen sind. Hier scheint jedoch irgendein weiterer Bug aktiv zu sein.

                Gruß,

                Sven

                --
                  TERMine: * 28.07.2004 - max. 30.08.2004 ** potentielle Abwesenheitsgefahr
                           * 04.08.2004                   ** Namenstage für die "Sven"'s im Forum (scnr)
                  MAIL@me: Die Abwesenheitsmail:  mailto:sommerferien04.20.wauwau@spamgourmet.org
                 SELFcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}
    2. Moin fastix,

      [1] Blockelemente haben meines Wissens innerhalb von H1...H6 nichts zu suchen. Das ist zumindest schlechter Stil.

      siehe andere Diskussion; ich sehe kein blockelement in meiner <h3>.

      [2] Wenn ein Browser einen Link so anzeigt, wie er bei :hover dargestellt werden sollte würde ich den Fehler im CSS suchen und zwar womöglich bei der Reihenfolge. Ohne Quelltext lässt sich nichts sagen.

      Datei (mit CSS) verlinkt...

      (allein das Hauptcss ist ein paar dutzend KB groß)
      Sorry, aber selbst das ist schon schlecht. (Erwerbsregel 55487: Größe der Startseite mit allen Elementen: max 15kb...)

      55487? Jedenfalls ist das Portal satte (Opera spuckt das ja immer Bytegenau raus):

      Größe der Hauptseite:
      15583 Bytes

      groß. *gggg* (ehrlich, ich habe nicht manipuliert).

      _Dieses_ CSS ist nunmal sehr groß. Dazu kommt noch ein print-css, ein projection-css sowie ein seitenspezifisches Css und ein davon verlinktes. Macht insgesamt so mehr oder weniger 35-40KB CSS :) - und es ist nix doppelt und auch nur ganz wenig kommentar, garantiert.[1]

      Du hast HTML und CSS valdiert?

      nicht in letzter zeit, nein. Aber getan habe ich es mal *g* ;)

      Ich werd's mal machen.

      Gruß,

      Sven

      [1] Fakt ist, dass meine Seiten so erstellt sind, dass es in Zukunft mehrere Designs zur Auswahl geben wird. Der Umfang eines jeden CSS'es und damit verbundener CSS-Dateien lässt sich so nicht sagen. Generell würde ich aber diese Faustregel lediglich auf den Inhalt bezogen sehen, immerhin kann man den auch ohne 'Formatierungsregeln' sehn.

      --
        TERMine: * 28.07.2004 - max. 30.08.2004 ** potentielle Abwesenheitsgefahr
                 * 04.08.2004                   ** Namenstage für die "Sven"'s im Forum (scnr)
        MAIL@me: Die Abwesenheitsmail:  mailto:sommerferien04.20.wauwau@spamgourmet.org
       SELFcode: ie:% fl:| br:^ va:{ ls:& fo:) rl:( n4:( ss:) de:> js:| ch:° mo:} zu:}