2009-07-29 6 views
0

Cela ne fonctionne pas dans IE6 ou 7:Pourquoi mon style n'est-il pas appliqué à un élément non HTML dans IE?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
    <title>Title</title> 
    <style type="text/css"> 
     N {display: block} 
    </style> 

</head> 
<body> 
    <div> 
     <N>element1</N> 
     <N>element2</N> 
     <N>element3</N> 
     <N>element4</N> 
    </div> 
</body> 
</html> 

cependant, il fait si je remplace les balises N avec A tags.

Est-ce que IE a un problème avec le style des balises non-HTML? Ou s'agit-il d'autre chose?

Répondre

7

Est-ce que IE a un problème avec le style tags non-HTML?

Oui. Ça ne va pas.

Vous pouvez pirater en utilisant:

<script type="text/javascript"> 
document.createElement('n'); 
</script> 

& hellip; mais cela ne fonctionnera pas si JS n'est pas disponible et le document est toujours invalide.

S'il n'existe aucun élément décrivant la sémantique souhaitée, utilisez celui qui correspond le mieux (ou div/span si rien de mieux n'existe) et ajoutez des classes. (Ou basculez vers un langage XML personnalisé)

+0

Spot on. Le hack va bien faire pour le moment! – Brabster

Questions connexes