Ho visto, c'è ancora qualche errore anche se il validatore non lo segnala. Anzi, in particolare ci sono diversi errori e omissioni che, incastrandosi assieme, innescano il malfunzionamento. Insomma è un groviglio di cose.
Cerchiamo di sbrogliare la situazione.
Prima di tutto, sebbene sia permesso definire il valore degli attributi senza usare gli apici (o doppi apici) è sempre meglio usarli. Questo è uno di quei casi particolari per cui, per un incastro di cose, questa omissione fa saltare la regolare interpretazione del codice.
Errore 1.a:
<style>
type=css
.sinistra{ float: left; width: 33%; }
Oltre ad aver omesso gli apici, hai mancato il bersaglio nel definire l'attributo type. Chiaramente va messo all'interno della definizione del tag stesso, non dopo.
Questo particolare errore innesca un secondo errore di sintassi del CSS-
Prova a passare il codice (tutto ciò che hai scritto all'interno del tag <style>) nel validatore per CSS
codice:
type=css
.sinistra{ float: left; width: 33%; }
.destra{ float: right; width: 33%; }
In questo caso salta fuori l'errore che viene segnalato dal validatore. Di fatto è come se tu avessi definito questa regola CSS
codice:
type=css .sinistra{ float: left; width: 33%; }
che ovviamente non viene interpretata dal browser, ma viene letteralmente saltata.
Quel float quindi non viene letto.
Errore 1.b:
Come appena indicato, dovrai definire correttamente l'attributo type. Se leggi la pagina linkata puoi notare che il valore che hai inserito è comunque sbagliato. La definizione corretta è questa:
codice:
<style type="text/css">
Puoi leggere inoltre che per HTML 5 è possibile anche omettere questo attributo che prenderà comunque quel valore di default.
Per cui, anche se tu definissi quell'attributo all'interno del tag ma usando quel valore sbagliato, il browser non riuscirebbe ad interpretare e, credo, salterebbe l'intero blocco <style>.
Errore 2:
codice:
<div id=1 class=sinistra>
<div id=2 class=destra>
I nomi degli attributi id e class, non possono iniziare con valori numerici. Ora, in questo caso tu non hai usato quegli id sul CSS, cioè non hai definito #1 o #2 come selettori per quegli elementi, ma nel caso lo avessi fatto, non avrebbe funzionato, proprio per il motivo appena detto. Se proprio ti serve usare dei valori numerici per definire id o classi, questi devono essere preceduti da una lettera (id="a1", id="div1", id="elemento2") o un underscore (id="_1", id="_1_2").
Prova a correggere queste cose, la situazione dovrebbe migliorare.