Andreas Korthaus: Wie werde ich ungewollte Abstände durch <form> los?

Hallo!

Ich habe schon öfter das Problem gehabt, dass ich durch <form> ungewollte Abstände in die Seite bekomme. Meist ist das egal, aber manchmal eben nicht, bisher habe ich das einfach so gelöst indem ich Form zwischen <table><form><tr> gepackt habe, nur ist offensichtlich das das ungültiges HTML ist. Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?

Grüße
Andreas

  1. Ich habe schon öfter das Problem gehabt, dass ich durch <form> ungewollte Abstände in die Seite bekomme. Meist ist das egal, aber manchmal eben nicht, bisher habe ich das einfach so gelöst indem ich Form zwischen <table><form><tr> gepackt habe, nur ist offensichtlich das das ungültiges HTML ist. Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?

    Deklariere in deinem Stylesheet:

    form {
         margin: 0;
      }

    MI

    --
    : Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
    : Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
    : Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :
  2. Hallo Andreas,

    bisher habe ich das einfach so gelöst indem ich Form zwischen <table><form><tr> gepackt habe, nur ist offensichtlich das das ungültiges HTML ist.

    in der Tat :-) zwischen <table> und <tr> darf nichts anderes stehen.

    Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?

    versuchs mal mit style="display:inline;" im <form>-Tag

    Grüße aus Nürnberg
    Tobias

    1. Hi,

      bisher habe ich das einfach so gelöst indem ich Form zwischen <table><form><tr> gepackt habe, nur ist offensichtlich das das ungültiges HTML ist.
      in der Tat :-) zwischen <table> und <tr> darf nichts anderes stehen.

      oh doch, da darf anderes stehen. thead, tfoot, tbody, caption, col und colgroup.

      Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?
      versuchs mal mit style="display:inline;" im <form>-Tag

      es reicht, margin auf 0 zu setzen.

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    2. bisher habe ich das einfach so gelöst indem ich Form zwischen <table><form><tr> gepackt habe, nur ist offensichtlich das das ungültiges HTML ist.
      in der Tat :-) zwischen <table> und <tr> darf nichts anderes stehen.

      Das ist Unsinn, siehe http://jendryschik.de/wsdev/einfuehrung/xhtml/tabellen.html

      MI

      --
      : Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
      : Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
      : Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :
    3. hio,

      Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?
      versuchs mal mit style="display:inline;" im <form>-Tag

      ob die Idee so gut ist? Somit ist form ein inline-Element, welches dann eigentlich keine block-Element beinhalten dürfte, oder?

      1. Gibt es keine bessere Möglichkeit diese Abstände loszuwerden?
        versuchs mal mit style="display:inline;" im <form>-Tag

        ob die Idee so gut ist? Somit ist form ein inline-Element, welches dann eigentlich keine block-Element beinhalten dürfte, oder?

        Du verwechselst das Dokument an sich und dessen Darstellung. 'form' bleibt ein Block-Element und darf dementsprechend andere Block-Elemente beinhalten, ganz egal, welcher Wert der Eigenschaft 'display' zugeordnet wird. Per CSS bestimmst du nur die Art der Darstellungsbox.

        MI

        --
        : Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
        : Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
        : Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :
        1. hio,

          Du verwechselst das Dokument an sich und dessen Darstellung. 'form' bleibt ein Block-Element und darf dementsprechend andere Block-Elemente beinhalten, ganz egal, welcher Wert der Eigenschaft 'display' zugeordnet wird. Per CSS bestimmst du nur die Art der Darstellungsbox.

          Scheine da wirklich was verwechselt zu haben, ob ich zugeben muss das ganze sich mir "logisch" nicht so ganz erschliesst ;)
          Klar, nach HTML ist das ganze immer noch ein block, ist ja so definiert worden. Jedoch ändere ich die Darstellungsform ja auf inline.

          Was ich nicht ganz verstehe dabei, wie kann ein Element das inline dargestellt ist (also, so wie ich es verstehe, sich in den Textfluss einbettet) ein Element beinhalten das als block dargestellt wird, somit hätte ich doch mein inline-Element zu einem block "erweitert". Oder nicht?
          Heisst das, es ist grundsätzlich erlaubt Element per CSS mit display:inline zu formatieren die block-Element enthalten dürfen, sofern es die DTD zulässt?

          Ein "Ausflug" auf w3.org, hat nicht viel gebracht ;) Die schweigen sich da etwas tod drüber
          gl & hf

          Thorsten

          1. Klar, nach HTML ist das ganze immer noch ein block, ist ja so definiert worden. Jedoch ändere ich die Darstellungsform ja auf inline.

            Was ich nicht ganz verstehe dabei, wie kann ein Element das inline dargestellt ist (also, so wie ich es verstehe, sich in den Textfluss einbettet) ein Element beinhalten das als block dargestellt wird, somit hätte ich doch mein inline-Element zu einem block "erweitert". Oder nicht?

            Nicht in HTML. Was du in CSS deklarierst, hat keinen Einfluss auf den HTML Document Tree.

            Heisst das, es ist grundsätzlich erlaubt Element per CSS mit display:inline zu formatieren die block-Element enthalten dürfen, sofern es die DTD zulässt?

            Richtig. Du kannst einfach ein Dokument erstellen und es unter http://validator.w3.org validieren, dann siehst du es.

            MI

            --
            : Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
            : Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
            : Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :
            1. Hallo!

              Danke Euch allen, dann weiß ich ja jetzt Bescheid, habe dann also mehrere Möglichkeiten.

              Grüße
              Andreas

              1. Danke Euch allen, dann weiß ich ja jetzt Bescheid, habe dann also mehrere Möglichkeiten.

                Eigentlich nur eine. Du willst den Abstand eines Elementes zu dessen umgebenden Elementen beeinflussen. Genau das erfüllt die Eigenschaft 'margin', siehe dazu auch http://jendryschik.de/wsdev/einfuehrung/css/box-modell.html. Alles andere sind nur Workarounds.

                MI

                --
                : Michael Jendryschik : michael@jendryschik.de : http://jendryschik.de/ :
                : Einführung in XHTML, CSS und Webdesign   http://jendryschik.de/wsdev/ :
                : Monatlich das Beste aus de.alt.netdigest http://best-of-netdigest.de/ :