anika: 2 formfelder untereinander ohne freiraum?

hallo ,

ich habe auf einer seite 2 form tags untereinander mit verschiedenen funktionen.

im browser sieht man zwischen beiden aber eine spalte oder leerraum.

ich hätte aber gerne die beiden direkt untereinander. hier mal ein auszug:

<form method="get" action="/mfolder.html" onSubmit="return FormCheck()">
  <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td width="204" height="40" class="textleft" bgcolor="A4A5C1"> Neuer
        Ordner
        <input type="hidden" name="mail_user2" value="%%mail_user%%">
        <input type="hidden" name="action2" value="mail_newfolder">
      </td>
    <td width="292" height="40" bgcolor="E4E4EE" valign="middle" align="center"> 
        <input class="inputstyle" type="text" size="29" maxlength="200" name="mail_folder"></td>
    <td align="left" bgcolor="E4E4EE" valign="middle" height="40" width="715"> 
        <input class="buttonstyle" type="submit" value="Ordner hinzufügen">
      </td>
</tr>
</table>
</form>
<form method="post" action="/mfolder.html">
  <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr>
    <td width="181" class="textleft" bgcolor="A4A5C1" height="40"> Vorhandene
        Ordner
        <input type="hidden" name="mail_user" value="%%mail_user%%">
        <input type="hidden" name="action" value="mail_delfolder">
      </td>
    <td width="296" bgcolor="E4E4EE" valign="middle" align="center" height="40"> 
        <select class="inputstyle" name="mail_folder" multiple size="3">
 <option value="%%mail_folders%%">%%mail_folders%%
 </select>
      </td>
    <td align="left" bgcolor="E4E4EE" valign="middle" width="734" height="40"> 
        <input class="buttonstyle" type="submit" value="  Ordner  löschen  ">
      </td>
</tr>
</table>

ich hoffe das war nicht zu viel html?

  1. Hi,

    im browser sieht man zwischen beiden aber eine spalte oder leerraum.

    Versuchs mal mit CSS:

    <style txpe="text/css">
    table {margin:0px; padding:0px; border:none}
    </style>

    ich hoffe das war nicht zu viel html?

    Nö war OK.

    Gruß

    ueps

  2. Hallo Anika

    So geht das in Mozilla, Opera und Konqueror einwandfrei:
    (IE vermutlich auch)

    <input type="text" style="margin:0px"><br>
    <input type="text" style="margin:0px">

    Falls die Eingabefelder in berschiedenen Tabellenzellen sind, musst Du natürlich da noch Zellenabstände u.ä. auf 0 setzen.

    Grüße

    Daniel

    1. Hallo

      Jetzt hab ich die Frage glaube ich falsch verstanden.
      Aber margin/padding auf mit CSS auf 0px zu setzen, ist auf jedenfall die richtige Lösung. Egal zwischen welchen Elementen kein Leerraum sein soll.

      Grüße

      Daniel

      1. mmmh,

        ich weiss nicht, ob du das richtig verstanden hast, also die form tags liegen jeweils um 1 tabelle, insgesamt sind es 2 form tags untereinander.

        ich habe deine variante mal probiert, funzt aber noch nicht....

        1. Hallo

          ich habe deine variante mal probiert, funzt aber noch nicht....

          Ja, weil ich deine Frage zuerst missverstanden habe. Ich meinte, Du meinst die Inputelemente.
          Damit Du den Raum zwischen den Formularen wegbekommst, musst Du sowas machen:

          <style>
          table {padding:0px; margin:0px}
          </style>

          1. Hallo

            so siehts bei mir jetzt der anfang der ersten tabelle aus:

            <form method="get" action="/mfolder.html" onSubmit="return FormCheck()">
              <table width="95%" border="0" cellspacing="0" cellpadding="0" align="center" marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">

            hab doch alles auf 0 gestetzt oder? oder meinst du ich soll den styletag noch einfügen??

            <style>
            table {padding:0px; margin:0px}
            </style>

            1. Hallo

              Ich hab' jetzt Deinen Code im Ausgangsposting einfach mal genommen und ausprobiert. Mit folgendem CSS ist bei mir der Raum zwischen den Tabellen im (Mozilla,Opera und Konqueror) weg:

              <style>
              form {padding:0px;margin:0px}
              </style>

              Irgendwelche Abstände zwischen Tabellenzellen oder um die Tabelle selbst machen diese Browser also nicht.

              Grüße

              Daniel

  3. Hallo anika

    ich habe auf einer seite 2 form tags untereinander mit verschiedenen funktionen.

    im browser sieht man zwischen beiden aber eine spalte oder leerraum.

    ich hätte aber gerne die beiden direkt untereinander

    Das kommt daher, dass <form> ein Blockelement ist, wie zum Beispiel ein Absatz. Die Eigenschaft lässt sich mit CSS ändern. Schreib einfach das Attribut style="display:inline;" ins form-tag.

    Grüße
    arne

    1. Hallo Arne,

      Das kommt daher, dass <form> ein Blockelement ist, wie zum Beispiel ein Absatz. Die Eigenschaft lässt sich mit CSS ändern. Schreib einfach das Attribut style="display:inline;" ins form-tag.

      ach nö, wer wird den immer so einen Unfug machen, es gibt wirklich
      nur ganz selten einen Grund, ein Block-Level- in ein Inline-Level-
      Element umzubiegen. Wofür gibt es die margin- und die padding-Eigen-
      schaft, damit kann man doch auch wunderbar zwei form-Elemente ohne
      Abstand untereinander platzieren:
      http://de.selfhtml.org/css/eigenschaften/randabstand.htm
      http://de.selfhtml.org/css/eigenschaften/innenabstand.htm

      Viele Grüße,
      Stefan

      1. leute, so funzt das immernoch nicht.

        vielleicht muss ich mich mit dem spalt abfinden...

      2. Hallo Stefan

        ach nö, wer wird den immer so einen Unfug machen, es gibt wirklich
        nur ganz selten einen Grund, ein Block-Level- in ein Inline-Level-
        Element umzubiegen.

        wirklich aus Interesse: Wieso ist meine Variante Unfug? Display:inline scheint mir kürzer zu sein, als mit margin "rumzuopern". Also wie begründest du deine Aussage?

        Grüße
        Arne

        1. Hallo Arne,

          wirklich aus Interesse: Wieso ist meine Variante Unfug? Display:inline scheint mir kürzer zu sein, als mit margin "rumzuopern". Also wie begründest du deine Aussage?

          das Ziel ist, den Abstand zwischen zwei Elementen zu verringern und
          nicht, zwei Inline-Level-Elemente zu erzeugen. Wenn man zum Beispiel
          die Absicht hat, mehrere Tabellen hintereinander darzustellen, dann
          ist die Verwendung von display:inline; sinnvoll, im vorliegenden Fall
          ist es falsch. Theoretisch wäre es möglich, dass mir mein Browser
          standardmäßig rund um Inline-Level-Elemente einen Randbereich anzeigt,
          dann wäre Dein Versuch kontraproduktiv. Wenn Du dagegen den Abstand
          änderst, was ja auch der Zweck der ganzen Übung war, dann wird es
          auch den gewünschten Erfolg zeigen.

          Viele Grüße,
          Stefan