2010-05-28 6 views
5

à clear: both mon contenu j'utilise ceci:div Taille: 0 problème dans IE

CSS:

.clr { 
    clear: both; 
    height: 0; /* i have tried 0.001em to */ 
    line-height: .001em; 
    overflow: hidden; 
} 

HTML:

<div class="clr">&nbsp;</div> 

il fonctionne parfaitement dans tous les navigateurs. Mais dans IE 7 & 8 les div ont encore une hauteur de quelques pixels. Comment puis-je éviter ça?

+0

dupliquer probablement http://stackoverflow.com/questions/950829/div-height0px-does-not- travail – Jujjuru

+0

non c'est pas. Mon débordement est déjà masqué, et ma hauteur de ligne est fixée à – meo

Répondre

8

C'est un problème de police IE.

Ajouter

font-size: 0; 

à votre déclaration css

+0

thx pour cela. c'était le problème – meo

0

Avez-vous essayé d'utiliser la fonction "effacement facile" (ou "effacement") pour supprimer la suppression des annotations. Il est généralement beaucoup plus simple:

http://oncemade.com/renaming-and-extending-easy-clearing-aka-clearfix/

+0

cette technique utilise CSS Hacks pour IE cela rend le CSS non valide:/ – meo

+0

Non, ce n'est pas le cas. Il profite des bogues CSS d'IE, mais rien de tout cela n'est CSS invalide. – RoToRa

0

aide DIVs vides à la présentation aide est généralement une mauvaise pratique. Vous pourriez envisager de changer le CSS des éléments à effacer. Une grande partie de l'effacement peut être remplacée par l'utilisation de inline-block. Voir http://google.co.uk/notebook/public/06909424369135510368/BDROpQwoQ4-fhwfsj#SDRZLQgoQtfHkwfsj.

Rich

+0

Je sais que c'est une mauvaise pratique, je n'ai pas fait le site, je dois juste résoudre ce problème. – meo

+0

Assez juste, je sais que la douleur trop bien. – kim3er

4

Juste à venir à travers cela et la réponse Ben a fait sens, mais il était incomplet en décembre 2011 sur IE 7 (prise en charge héritée nécessite cela.

font-size:0;

Selon cette ligne de pensée, vous devez être conscient de hauteur de ligne. Si vous définissez la hauteur de ligne plus haut dans le DOM, probablement en raison de la nature de ces choses, il héritera (comme cela m'arrivait)

Si vous avez défini la hauteur de ligne sur un parent, veillez à définir explicitement sur l'enfant que vous essayez d'utiliser pour forcer le clair:

font-size:0; 
line-height:0; 

-Brandt