Ist es nicht so das ein <input> ein Inline Element ist?
Es ist besser, das Input Element als Formular-Element zu betrachten, statt es stur nach Block oder Inline zu behandeln.
Und das "display:block" sorgt doch nur das die Label Beschriftung unterhalb ist oder?
Ich lasse mich gerne korrigieren wenn ich falsch liege?
display:block auf <input> angewendet aktiviert Block-Eigenschaften des Elements input. Das Einfügen eines Umbruches am Anfang und am Ende ist eine Eigenschaft der Blockelemente.
Die CSS Eigenschaft float:left erzeugt implizite Blockeigenschaft.
Ansonsten ist ein Inputfeld per Browser-Default ein nicht ganz astreines Inline Element.
Einige Formular-Element sprechen auf width und height an, ohne dass sie als Blockelemente im CSS deklariert sind. Die Verfügbarkeit ist bei <input type=checkbox> zum Beispiel eher zufällig nach Browser.
(Streng genommen ein Feature, oder ein lausiger CSS Standard)
mfg Beat