2009-11-05 3 views
1

Ceci est le code HTML:HTML/CSS: élément flottant dans l'élément H2

<h2> 
    Log in 
    <a onclick="doSomething()" href="#" class="float-right">&nbsp;</a> 
</h2> 

C'est le CSS:

.float-right { 
    float: right; 
    background: url(img.png); 
    width: 10px; 
    height: 10px; 
    text-decoration: none; 
} 

ce qui devrait faire flotter l'élément .float-right à droite du texte dans l'en-tête, mais dans IE7 ce n'est pas le cas! Je ne me soucie pas de IE6, je dois juste obtenir ce travail dans IE7 et plus récent.

+0

Qu'est ce que le CSS de h2? Quelle est la largeur? Mettez une bordure sur l'élément h2 et voyez quelle est la largeur. – Zoidberg

+0

Le CSS pour 'h2' est juste' font-size', 'font-weight' et' padding-bottom' ... Cela ne devrait pas être pertinent. –

Répondre

2

Avez-vous essayé de déplacer le code autour?

<h2> 
    <a onclick="doSomething()" href="#" class="float-right">&nbsp;</a> 
    Log in 
</h2> 
+0

Cela fonctionne réellement ... Mais pourquoi? –

+0

Je pense que c'est parce que h2 par défaut est un bloc, qui prend 100% de largeur. IE calcule sa largeur avant de voir l'élément flottant. Mais ce n'est qu'une supposition. – Samuel

2

essayer d'ajouter display:block; à la css

+0

Oui, c'est ce qui manque, voir aussi mon autre commentaire. – Zoidberg

+1

Je pensais que 'display: block' était implicite sur les éléments flottants ... et cela ne fonctionne toujours pas quand j'ajoute cette règle. –

Questions connexes