ho un problema con le proprietà float e clear.

in questo pezzo di codice

codice:
 
<div id="container>   
    [altre div.element]
    <div class="element">
      <h1>Data</h1>
      <div class="cleaned">
        <input id="ctl00_Main_RadioCln" type="radio" name="ctl00$Main$date" value="RadioCln" /><label for="ctl00_Main_RadioCln">Nessuna data</label>
        <input id="ctl00_Main_RadioIns" type="radio" name="ctl00$Main$date" value="RadioIns" /><label for="ctl00_Main_RadioIns">Inserimento Segnalazione</label>
        <input id="ctl00_Main_RadioCls" type="radio" name="ctl00$Main$date" value="RadioCls" /><label for="ctl00_Main_RadioCls">Prevista chiusura</label>
        <input id="ctl00_Main_RadioVnd" type="radio" name="ctl00$Main$date" value="RadioVnd" /><label for="ctl00_Main_RadioVnd">Vendita</label>
        <input id="ctl00_Main_RadioStp" type="radio" name="ctl00$Main$date" value="RadioStp" /><label for="ctl00_Main_RadioStp">Installazione</label>
      </div>
    </div>
    [altre div.element]
</div>
con il seguente foglio di stile

codice:
#container
{
  margin: 10px auto;
  width: 670px;
}

.element
{
  float:left;
  margin: 5px;
  border: solid 2px #000;
  border-top: none;
  padding: 0 10px 10px 10px;
  width: 300px;
}

.cleaned label
{
  clear: both;
}
ma la proprietà clear non mi funziona, quindi ogni label mi sta accanto a quella successiva.
il risultato finale che vorrei ottenere è un altro, ma non so come fare... ho già provato a mettere
codice:
display: list-style;
nella classe cleaned, ma rimangono i punti delle liste che non sono desiderati... altre proposte?

PS il codice è generato da server.