Daniel Petratsch: <hr> margin Internet Explorer Bug

Hallo!

Ich ärgere mich schon die längste Zeit mit der Formatierung des Aussenabstandes der horizontalen Linie <hr> herum, der IE will und kann anscheinend diesen Tag nicht richtig formatieren (auch nicht mittels Css), es sind immer ~5px ober -und unterhalb der Linie Abstand.
Im Internet habe ich dann in igendeinem Forum erfahren, dass das ein IE Bug sein soll. Gibt es denn keine Möglichkeit diese Linie doch noch mit 0px Aussenabstand hinzubekommen?
Am liebsten würde ich ja eh eine Javascript Hinweisbox erscheinen lassen, die dem Anwender darauf aufmerksam macht, dass er mit dem IE surft und sich dann auch nicht zuviel vom Layout erwarten kann :)
Danke mal für die (hoffentlich noch folgenden) Tips :)

freundlich Grüsse,
Daniel

--
Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
[Bertrand Russell]
  1. Hallo,

    Am liebsten würde ich ja eh eine Javascript Hinweisbox erscheinen lassen, die dem Anwender darauf aufmerksam macht, dass er mit dem IE surft und sich dann auch nicht zuviel vom Layout erwarten kann :)

    Das waere etwa das duemmste, was Du tun koenntest.

    Wenn Dein Weltbild wegen ein paar Pixeln zusammenbricht,
    bzw. wenn Du deswegen 80 - 90% der Benutzer "beleidigen"
    willst, dann hast _Du_ ein Problem.

    Danke mal für die (hoffentlich noch folgenden) Tips :)

    • Auf <hr> verzichten und stattdessen CSS (border) fuer
        das vorhergehende bzw. folgende Element verwenden.

    • Hast Du ueberhaupt schon Margin/Padding der Elemente,
        die vor und nach dem <hr> kommen, auf Null gesetzt?

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hi Thomas,

      Am liebsten würde ich ja eh eine Javascript Hinweisbox erscheinen lassen, die dem Anwender darauf aufmerksam macht, dass er mit dem IE surft und sich dann auch nicht zuviel vom Layout erwarten kann :)

      Das waere etwa das duemmste, was Du tun koenntest.

      Das war ja auch nur ironich gemeint :)

      Wenn Dein Weltbild wegen ein paar Pixeln zusammenbricht,
      bzw. wenn Du deswegen 80 - 90% der Benutzer "beleidigen"
      willst, dann hast _Du_ ein Problem.

      Nein, denn gerade diese paar Pixel, die zusammengezählt ~10 ausmachen, verhauen das ganze Bild - es ist nicht so, dass die Grafik pixelgenau zusammengebaut ist, aber es schaut einfach bäh aus mit diesem Abstand.

      Danke mal für die (hoffentlich noch folgenden) Tips :)

      • Auf <hr> verzichten und stattdessen CSS (border) fuer
          das vorhergehende bzw. folgende Element verwenden.

      • Hast Du ueberhaupt schon Margin/Padding der Elemente,
          die vor und nach dem <hr> kommen, auf Null gesetzt?

      Liegt in einer Tabelle eingebettet, in der natürlich alle paddings auf 0 gesetzt sind. Border kann ich deswegen nicht den von der Tabelle nehmen, da ich dann auf die Tabellen/Zellengrösse angewiesen bin und das ist zu unflexibel. Ich glaub ich werd einfach ein 1x1 px <img> daraus machen und dies dann in die Länge ziehen...ist zwar unprofessionell aber was solls...

      freundliche Grüsse,
      Daniel

      --
      Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
      [Bertrand Russell]
      1. Hallo,

        Liegt in einer Tabelle eingebettet, in der natürlich alle paddings auf 0 gesetzt sind. Border kann ich deswegen nicht den von der Tabelle nehmen, da ich dann auf die Tabellen/Zellengrösse angewiesen bin und das ist zu unflexibel.

        Du kannst auch in einer Tabellenzelle Block-Level-Elemente haben
        und denen jeweils einen eigenen Border geben.

        HTML:
        <td><p class="abs1">Absatz 1 ...</p><p>Absatz 2 ...</p></td>
        CSS:
        p.abs1 { border-bottom:3px solid red; }

        Jaja, es gibt :first-child.
        Aber es gibt auch MS IE ...

        Ich glaub ich werd einfach ein 1x1 px <img> daraus machen und dies dann in die Länge ziehen...ist zwar unprofessionell aber was solls...

        Quick'n'Dirty... ;-)
        Naja, was tut man nicht alles, wenn man verzweifelt ist...
        Solange Du alt="" reinschreibst, ist es IMHO halb so wild.

        Gruesse,

        Thomas

        1. Hi Thomas,

          Du kannst auch in einer Tabellenzelle Block-Level-Elemente haben
          und denen jeweils einen eigenen Border geben.

          HTML:
          <td><p class="abs1">Absatz 1 ...</p><p>Absatz 2 ...</p></td>
          CSS:
          p.abs1 { border-bottom:3px solid red; }

          Jaja, es gibt :first-child.
          Aber es gibt auch MS IE ...

          Ja geht auch, Danke fürn Tip. Mhm ja es gibt auch den IE - naja, schafft wenigstens Arbeitsplätze :)

          Ich glaub ich werd einfach ein 1x1 px <img> daraus machen und dies dann in die Länge ziehen...ist zwar unprofessionell aber was solls...

          Quick'n'Dirty... ;-)
          Naja, was tut man nicht alles, wenn man verzweifelt ist...
          Solange Du alt="" reinschreibst, ist es IMHO halb so wild.

          Genau, let's get Dirty :)
          Natürlich schreib ich den "alt" rein, sonst meckert mich der Validator wieder an :)

          freundliche Grüsse,
          Daniel

          --
          Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
          [Bertrand Russell]