Gunnar Bittersmann: Gleiche Länge von labels

Beitrag lesen

@@Rainer:

nuqneH

[…] denn das Nachfolgende verstehe ich leider überhaupt nicht.

[…] z.B. könntest du label und input nebeneinander floaten lassen

label, input { float: left }

Damit erhält die 'display'-Eigenschaft implizit den Wert "block", der muss also nicht explizit angegeben werden, damit die 'width'-Eigenschaft wirkt.

und jeweils vor einem label den Textfluss wiederherstellen (neue Zeile)

label { clear: left }

Markup:

<label for="Name">Name:</label> <input id="Name" name="Name"/>  
<label for="Vorname">Vorname:</label> <input id="Vorname" name="Vorname"/>

Stylesheet:

label  
{  
  clear: left;  
  float: left;  
  width: 6em;  
}  
  
input  
{  
  float: left;  
  margin-bottom: 0.5em;  
}

oder du kannst das input-Element in das label-Element notieren

<label>Name: <input name="Name"/></label>  
<label>Vorname: <input name="Vorname"/></label>

Dann gehört das Label zum eingeschlossenen Eingabe-Element. Für semantisch sinnvoll halte ich dies nicht. @for- und @id-Attribute sind dann nicht notwendig.

Style:

label  
{  
  display: block;  
  overflow: hidden;  
  width: 16em;  
}  
  
input  
{  
  float: right;  
  margin-bottom: 0.5em;  
}

oder du gruppierst label und input-Element mit einem div- oder fieldset-Element.

<fieldset><label for="Name">Name:</label> <input id="Name" name="Name"/></fieldset>  
<fieldset><label for="Vorname">Vorname:</label> <input id="Vorname" name="Vorname"/></fieldset>

Dann braucht man kein 'clear':

fieldset  
{  
  overflow: hidden;  
}  
  
label  
{  
  clear: left;  
  float: left;  
  width: 6em;  
}  
  
input  
{  
  float: left;  
  margin-bottom: 0.5em;  
}

Man braucht nicht einmal 'float', "inline-block" bietet sich an. Das hat auch den Vorteil, dass 'vertical-align' wirkt:

label  
{  
  display: inline-block;  
  vertical-align: middle;  
  width: 6em;  
}  
  
input  
{  
  margin-bottom: 0.5em;  
}

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)