White space i ie6

Tags:    html css

Som standard laver jeg altid en class

.clear {clear:both;}

som jeg så sætter ind efter mine floats. Det virker altid og har ikke rigtig haft problemer med det.
Nu opdager jeg at i ie6 og 7 kommer der unødvendigt whitespace med denne imellem mine diver. Sætter jeg fx <br style="clear:both" /> ind istedet for min div så er der intet whitespace. Hvordan kan det være? Det må være div'en der laver whitespace? Og hvordan kan jeg omgå dette whitespace?

Rasmus



Måske det er fordi div'en får en linje i højden? Hvad sker der, hvis du sætter font-size: 0?



hvis jeg sætter font-size: 0 på min clear div så sker der intet. Definerer man en height:0 på clear så bliver det all wacky i ie6. ie7 er dog meget pænt.



Indlæg senest redigeret d. 28.09.2009 13:47 af Bruger #14839
Fold kodeboks ind/udKode 


Det burde kunne løse dit problem. :)



Jeg plejer at bruge
Fold kodeboks ind/udKode 


og det har jeg aldrig haft problemer med.



Fold kodeboks ind/udKode 


Det burde kunne løse dit problem. :)

Tak for dit svar. Det havde desværre ingen effekt på min kode.

Jeg plejer at bruge
Fold kodeboks ind/udKode 


og det har jeg aldrig haft problemer med.


tak for svaret.
Denne her virkede til gengæld fint. IE 7 fungerer fint uden overflow, men IE6 skal ha overflow med sig for ikke at lave mellemrum. Er der nogen forklaring på dette?



IE 7 fungerer fint uden overflow, men IE6 skal ha overflow med sig for ikke at lave mellemrum. Er der nogen forklaring på dette?


Det er fordi IE6 tror der er en tom linje inden i din div. Derfor bliver div'en en linje høj. med height:0 bliver div'en 0 høj, men så placeres den tomme linje bare neden under div'en og fylder stadig op. med overflow:hidden skjules alt, hvad der ikke er plads til i div'en, inklusiv den tomme linje, som IE6 indsætter.



IE 7 fungerer fint uden overflow, men IE6 skal ha overflow med sig for ikke at lave mellemrum. Er der nogen forklaring på dette?


Det er fordi IE6 tror der er en tom linje inden i din div. Derfor bliver div'en en linje høj. med height:0 bliver div'en 0 høj, men så placeres den tomme linje bare neden under div'en og fylder stadig op. med overflow:hidden skjules alt, hvad der ikke er plads til i div'en, inklusiv den tomme linje, som IE6 indsætter.


Det kunne ikke være mere klart jo. Tusind tak for alle jeres svar :) overflow og height er nu fast inventar i mine clear floats :)



t