Hi Benedikt,
vielen Dank erstmal für deine Anmerkungen. Ganz im Klaren über position:relative bin ich mir nicht, ...
ganz kurz zusammengefasst: Das betroffene Element wird relativ zu der Position, die es normalerweise hätte, verschoben, aber der Platz, den es ursprünglich eingenommen hätte, bleibt trotzdem reserviert.
Mein primäres Ziel ist eben, dass der Fragebogen in einem zweispaltigen Layout ist, weil sich dann bei jeder Frage die positiven und negativen Aspekte gegenüberstehen.
Das mit dem zweispaltigen Layout hatte ich schon verstanden; inhaltlich habe ich es nicht so genau angesehen, um jetzt positive und negative Aspekte zu erkennen; ist aber auch egal.
Wenn du jetzt sagst, dass ich grundsätzlich die falsche Variante gewählt habe, so ist das für mich natürlich zunächst einmal schlecht weil die ganze Arbeit bisher umsonst war. Aber dennoch bin ich dir dafür dankbar.
Nein, sowas mit float zu realisieren ist nicht falsch. Aber komplizierter als nötig und mit einigen Fallstricken. Und umsonst? Nein, der Umbau ist gar nicht mal so aufwendig.
Könntest du mir dann, vlt an einem kleinen Beispiel, zeigen wie ich es besser machen könnte?
Ja. Allerdings will ich dabei auch zeigen, wie man das Markup (HTML) aussagekräftiger und semantisch besser machen kann. Und übersichtlicher noch dazu. Und du wirst feststellen, dass ein div-Element nur noch in Ausnahmefällen auftaucht. ;-)
<form action="fragebogen/auswertung.php" method="post">
<h1>Erleben und Warnehmen von Natur und Landschaft</h1>
<h2>Feldprotokoll zur Bewertung von Flüssen - Bächen</h2>
<fieldset>
<label>Naturräumliche Einheit: <input type="text" name="natureinheit" size="30" /></label>
<label>Name des Fließgewässers: <input type="text" name="fliessname" size="30" /></label>
<label>Kartierabschnitt: <input type="text" name="kabschnitt" size="30" /></label>
<label>TK-Blatt: <input type="text" name="tkblatt" size="10" /></label>
</fieldset
<fieldset>
<label>Bearbeiter/in: <input type="text" name"bearbeiter" size="30" /></label>
<label>Datum: <input type="text" name="datum" size="12" /> </label>
<label>Uferseite: <select name="uferseite" size="1">
<option value="" >Bitte wählen</option>
<option value="L">linke Uferseite</option>
<option value="R">rechte Uferseite</option>
</select>
</fieldset
<!-- Nächster Hauptblock -->
<h1>Allgemeine Angaben</h1>
...
Soweit das Markup. Dir fällt sicher auf, dass ich alle Elemente und Attribute, die nur der Darstellung dienen, entfernt habe, weil ich die Darstellung ausschließlich mit CSS regeln will.
h1
{ ...
}
h2
{ ...
}
fieldset
{ display: inline-block;
width: 48%;
min-width: 20em;
padding: 0 0.5%;
border: none;
}
label
{ display: block;
font-weight: bold;
margin-bottom: 1em;
}
label input, label select
{ display: block;
}
Das soll mal als Inspiration genügen; ist nicht in allen Punkten ausgereift. Ganz ähnlich wie beim Floating rutschen auch die inline-block-Elemente untereinander, wenn das Browserfenster die Mindestbreite (hier 20em pro Box) unterschreitet.
Die Verwendung von label-Elementen hat übrigens -außer der besseren Semantik- auch den Vorteil, dass man nicht unbedingt das Eingabefeld anklicken muss, sondern stattdessen auch auf die Beschriftung klicken kann. Das ist besonders bei Radiobuttons und Checkboxen ein Plus an Komfort.
So long,
Martin
--
PCMCIA: People Can't Memorize Computer Industry Acronyms
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(h2