Hauptmenü

Untermenü

HTML / CSS - Praxistutorial 4 - Adresse und Anstellung

1. Die Abschnitte

2. Die Adresse

Hier haben wir das Problem, dass natürlich die bisher gemachten Breitenangaben dafür sorgen, dass an dieser Stelle alles zerhauen wird. Daher weisen zunächst mal den Elementen eine Klassendefinition zu.


<p>
  <label for="plz" class="plz">PLZ</label>
  <label for="ort" class="ort">Ort</label>
  <input type="text" name="plz" id="plz" class="plz" />
  <input type="text" name="ort" id="ort" class="ort" />
</p>

Die CSS-Formatierung


input.plz
{
  width40px;
  margin-right5px;
}

input.ort
{
  width238px;
}

label.plz
{
  widthauto;
  margin-right5px;
}

label.ort
{
  width101px;
}

Erläuterung

Durch die Bindung an den Typ der Elemente können wir hier schön mit nur zwei Klassennamen arbeiten. Zu den Anweisungen sage ich nur noch, dass es pixelgenau passt. Zumindest erst mal im Firefox 5.

3. Art der Anstellung

An dieser Stelle müssen wir uns mit dem Problem der radio-Elemente herumschlagen. Und mit den <label>-Elementen. Dazu legen wir erst mal auf den entsprechenden Absatz eine Klasse.


<class="radio">
  <span>Art der Anstellung</span>
  ...    
</p>

Die CSS-Formatierung


p.radio input
{
  width20px;
}

p.radio label
{
  floatnone;
}

p.radio span
{
  displayblock;
  margin-bottom5px;
}

Erläuterung

Zunächst mal reduzieren wir die Breite der radio-Elemente auf 20 Pixel. So haben wir gleichzeitig einen gewissen Abstand zu den folgenden <label>. Allerdings müssen wir aus denen wieder Inline-Elemente machen. Und dafür reicht ein float: none; völlig aus.

float: none;???

Einige von euch werden sich jetzt fragen, warum das ausreicht. Daher eine kurze Erläuterung. Wenn zum Beispiel auf ein Inline-Element ein float: left; gelegt wird, so verwandelt es sich automatisch in ein Blockelement. Hebt man das float durch ein none wieder auf, so wird aus dem vormaligen Block- wieder ein Inline-Element. Ein display: inline; dagegen würde nur ein vorheriges display: block überschreiben, aber kein float. Kapiert? Dann probiert es mal aus.

Zu guter Letzt legen wir fest, dass das <span> zu einem Blockelement mit einem Abstand nach unten wird.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt