28173 sujets

CSS et mise en forme, CSS3

Salut,

J'viens d'avoir le problème des HR dans IE qui se baladent toujours avec une énorme marge au dessus et en dessous d'eux..
En générale j'me prend pas la tête, les gens choisissent leur navigateurs après tout. S'ils en on marre de cliquer sur les animations Flash pour les activer, ou si les espaces baladeurs leur posent un problème alors ils on qu'a installer un autre browser.
On va pas non plus construire des routes qui palient aux défauts de chacune des voitures qui sont sur le marché pour assurer le même confort au type qui est en Super5 qu'au type qui roule en Mercedes.

Bon bref là j'suis au taff' pour une grosse boite qui veut rien savoir donc ma solution, parce que moi aussi ca me pose un problème de poser des balises vides dans mon code, c'est d'utiliser un BR à la place du HR, ca donne :
<html>
 <head>
    <style>
      br.hr{clear:both;padding:0;height:0;font-size:0;line-height:0;}
    </style>
  </head>
  
  <body>
    <br class="hr" />
   </body>
  
</html>


Voilà Smiley smile , mais je suis super preneur si vous avez une meilleurs idée.

Merci
Salut Smiley smile

Tu veux faire quoi en fait ? Un <hr> sans marges ?

Si ton problème consiste à juste séparer du contenu par un trait sans qu'il n'y ai de marges tu peux faire une div ou un tableau et jouer avec les bordures...
Modifié par BeliG (26 Apr 2007 - 12:06)
Salut,

En fait j'utilise les <hr /> pour effacer mes floats, ou pour séparer des contenus effectivement,
mais avec IE les HR ne viennent jamais sans une espèce de marge au dessus et en dessous du HR ... qui n'existe pas dans FireFox par exemple, d'où ma bidouille.
Tu as essayé, l'overflow:hidden (ou auto) dans la div parente, pour "clearer" les floats ? ca marche du tonnerre Smiley cligne
Ah oui génial !
Bon j'me retrouve encore avec une balise DIV au lieu d'un BR ...mais au moins ma DIV n'est pas vide.

Merci pour l'info. Smiley smile
Bonjour,
Dans IE, les propriété de marges appliquées au <hr> n'ont aucun
effet car en dépit du fait que le <hr> soit un élément de type block, nous
avons en fait à faire là à un élément inline imbriqué dans un élément de
type block.
Et les regles CSS s'appliquent a ce <hr> inline.
Donc il faut déclarer en plus dans un feuille de style pour IE insérée via
des commentaires conditionnels:

hr {
display:block;
margin: -7px 0;
}

Modifié par Hermann (26 Apr 2007 - 14:20)