2010-07-12 7 views
6

/* Cancella Fix */Quale metodo di correzione rapida?

.clearfix:after {content: ".";display:block;height:0;clear:both;visibility:hidden;} 
* html .clearfix {height:1%;} 

o

.clearfix:after {content: ".";display:block;height:0;clear:both;visibility:hidden;} 
* html .clearfix, *:first-child+html .clearfix {zoom:1;} 

che avrebbe funzionato al meglio? Ho usato il primo e non ho mai avuto un problema .. Grazie.

+1

penso che tu abbia commesso un errore sul secondo> nella mia esperienza devi mettere IE6 e IE7 su un estratto conto separato o non funzionerà – Knu

+0

qualcuno potrebbe confermarlo? – dzhi

+0

perché sprecare le proprietà per nascondere il punto che hai aggiunto, quando 'content:" "' crea un elemento senza creare un carattere e una linea visibili !? – Kornel

risposta

1

Quest'ultimo sembra andare bene perché considera anche IE6 (zoom:1;).

+0

lol, ms dovrebbe essere denunciato per aver perso così tanti anni uomo. – iamgopal

+0

uno di questi account per IE6. quest'ultimo è solo più flessibile. –

0

Questo ha sempre funzionato per me. Molto simile al vostro

.clearfix:after { 
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0; 
    clear: both; 
    visibility:hidden; 
} 
    .clearfix{display: inline-block;} 
    * html .clearfix {height: 1%;} 
    .clearfix {display:block;} 
+1

blocco in linea e blocco con altezza: 1% è ridondante. 'contenuto:" "' è abbastanza buono. –

3

tecnica più succinta è troppopieno impostazione: nascosto per i browser moderni:

overflow:hidden; 
zoom:1; 

Se un elemento deve fluire fuori delle dimensioni (margini o posizionamento negativi) allora clearfix:

Per IE6 e versioni successive, è necessario attivare hasLayout (tramite una larghezza, uno zoom: 1, altezza e altre combinazioni di proprietà/valore). A partire da IE7, l'overflow cancellerà i float.

Problemi correlati