tox: Mäuse melken mit <form...> und Internet Explorer

Hallo,

folgender Code verursacht im IE 5.01, 5.5 & 6.0 an der Stelle wo das Form-Tag steht einen zusätzlichen Abstand von 19 Pixel. Warum? FF (1.5), OP (5.12, 6.0, 9.01) und NS (6.2, 8.1) tun das nicht.

Es handelt sich um einen Auszug einer Webseite die der Validator mit einem freundlichen "This Page Is Valid XHTML 1.0 Strict!" abgenickt hat. Bei Bedarf kann ich natürlich mehr Code posten.

<div id="cont-container">
        <div id="cont">
          <h1>Find your bla</h1>
          <p>by bla bla blabla by bla bla blabla by bla bla blabla by bla bla blabla by bla bla blabla</p>
          <p><img src="img/map.jpg" alt="Map of bla" /></p>
          <form method="get" action="http://#">
            <p class="single_selector_end">
              <select size="1" name="type" class="search">
                <option>SHOW ALL CATEGORIES</option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>
              <select size="1" name="price" class="search">
                <option>SHOW ALL PRICES</option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>
              <input type="submit" value="  Search  " class="submit" />
            </p>
          </form>
        </div>
      </div>

Kommentiere ich die Zeile mit dem Form-Tag aus findet sich kein ungewollter Abstand, aber leider auch keine Formularfunktion mehr.

Wer kennt das? Ich habe nirgends etwas über einen derartigen Bug gefunden. Und meine armen Mäuse sind schon ganz wund.

Danke und Gruss

  1. Hallo,

    Form ist ein Block-Element, welche natürlich auch als solches dargestellt wird. Lass es Inline anzeigen, dann sollte sich dein Problem reduzieren.

    so long
    Ole
    (8-)>

    --
    Stickstoff eignet sich nicht für Handarbeiten.
    1. Hi Ole,

      sensationell schnell gegangen, hab ein

      form {
         display: inline;
      }

      hinzugefügt und schon funzzt es! Herzlichen Dank.

      Mein Mäuse haben gerade tierisch aufgeatmet.

      Aber wieso ist das nur im IE so?

      Gruss

      1. Hi,

        Aber wieso ist das nur im IE so?

        es ist normal und nicht verwerflich, dass unterschiedliche Browser unterschiedliche Vorgaben für die Darstellung von HTML besitzen. Verwerflich ist lediglich, wenn sich diese nicht CSS-konform verändern lassen oder die Vorgaben im Widerspruch zu Definitionen des W3C stehen, also wenn z.B. der Browser glaubt, Platz für Text reservieren zu müssen, der gar nicht da ist[1].

        Cheatah

        [1] Auch ein "beliebter" Fehler des IE.

        --
        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. Hi Cheatah,

          wenn z.B. der Browser glaubt, Platz für Text reservieren zu müssen, der gar nicht da ist

          Daher also! Ähnelt dem 3-Pix-Jog-Bug.

          Hach, Microsoft meint es ja so gut uns.

          Danke und Gruss

          1. Hi,

            Hach, Microsoft meint es ja so gut uns.

            ja, man spricht auch vom Bug-Overdeliver (sinngemäß "Laus über die Leber").

            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
  2. echo $begrüßung;

    folgender Code verursacht im IE 5.01, 5.5 & 6.0 an der Stelle wo das Form-Tag steht einen zusätzlichen Abstand von 19 Pixel. Warum? FF (1.5), OP (5.12, 6.0, 9.01) und NS (6.2, 8.1) tun das nicht.

    Es gibt keine Vorschrift, die besagt, wie ein Element im Normalfall dargestellt werden soll. Der IE macht eben um ein form-Element etwas Abstand, andere Browser nicht. Wenn du keinen Abstand haben möchtest solltest du das mit einer CSS-Regel (margin) explizit festlegen.

    echo "$verabschiedung $name";

    1. Hi dedlfix,

      Es gibt keine Vorschrift, die besagt, wie ein Element im Normalfall dargestellt werden soll. Der IE macht eben um ein form-Element etwas Abstand, andere Browser nicht. Wenn du keinen Abstand haben möchtest solltest du das mit einer CSS-Regel (margin) explizit festlegen.

      Fettes Mercy. Ich habe es jetzt mit einem mir noch sympathischerem

      form {
         margin: 0;
      }

      gelöst.

      Gruss