2013-03-28 9 views
6

DEMOtecnica clearfix aggiunge qualche chilo in più

utilizzando clearfix technique è impressionante utili, ma nessuno ha indicato il problema di questo metodo è aumentata valore chilo in più, come mostrato nella demo.

L'altezza di entrambi è uguale.

CSS:

body{margin: 0; padding: 0;} 
#wrap{width: 900px; height: 250px; background: red; margin: 0 auto;} 
.clearfix:before, .clearfix:after{content: "."; display: table;} 
.clearfix:after{clear: both;} 
.clearfix{zoom: 1;} 
#box{float: left; width: 200px; height: 250px; background: blue;} 

HTML:

<div id="wrap" class="clearfix"> 
<div id="box"><h1>some heading text here</h1></div> 
</div> 
+0

Incolla codice di correzione chiara – MarmiK

+0

[: prima pseudo-elemento previene il collasso top-margin] (http://nicolasgallagher.com/micro-clearfix-hack/) – FelipeAls

risposta

3

Solo un Jakub ha detto. .clearfix:before, .clearfix:after{content: "."; display: table;} sta aggiungendo un punto prima e dopo il tuo elemento. Piuttosto, utilizzare questo codice:

.clearfix:before, .clearfix:after{content: " "; display: table;} 

Oppure, un altro metodo è di usare solo questo codice:

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

Non c'è bisogno nemmeno dello spazio (risolve un [Opera + bug contenteditable] (http://nicolasgallagher.com/micro-clearfix-hack/)). La stringa vuota va bene. – FelipeAls

1

problema che si è semplicemente questo:

.clearfix:before 

Se si aggiunge che si attacchi un . di fronte proprio come te stai impostando nel tuo CSS a . Rimuovi e funziona perfettamente con clearfix:after

Problemi correlati