Forse mi sono spiegato male.
Anzitutto tutte le soluzioni contengono almeno un errore semantico di qualche tipo. Ma i browser sono quel che sono e dobbiamo fare di necessita` virtu`.
Per potergli dare la dimensione, un oggetto deve essere di tipo blocco: ecco perche` devi inserire il display al
. E` comunque una forzatura.
Qualsiasi oggetto di tipo blocco non potrebbe stare dentro il
. Ma se ci metti un
, il validatore non se ne accorge (e con le premesse fatte, ce ne freghiamo).
Comunque tutte le soluzioni prospettate sono funzionanti (con gli accorgimenti gia` citati) nei maggiori browser. Questo pero` non e` vero per i browser futuri.
La mia impressione e` che il
sia piu` debole, perche` viola una regola sintattica gia` esistente (in XHTML 1.0 Strict), mentre il <hr> e il
sono sintatticamente validi in tale DTD. Per cui <hr> e
potrebbero essere piu` robusti di fronte al futuro. Pero` questa affermazione va presa con le pinze: e` e resta una mia impressione.
Concludendo: non vale la pena dissertare sul sesso degli angeli, e nemmeno fasciarsi la testa prima di averla rotta: se una cosa funziona e ci piace usiamola, se poi domani scopriremo che e` sbagliata la correggeremo.