IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

div flottant : navigateurs avec bugs d'affichage


Sujet :

CSS

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut div flottant : navigateurs avec bugs d'affichage
    Bonjour,

    pour afficher deux div côte à côte, j'en fais flotter un des deux.
    Sur Firefox, Opera, SeaMonkey et IE7, tout s'affiche correctement.

    Or, il semble que sous des versions d'IE6 et machine avec XP SP1, le flottement des éléments ne soit pas respecté du tout et que le 2° div passe sous le premier : bonjour la mise en page...

    Que sait-on de précis sur les bugs d'affichage des navigateurs ?

    Par avance, merci de votre aide.

  2. #2
    Membre actif
    Inscrit en
    Novembre 2006
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 206
    Points : 231
    Points
    231

  3. #3
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Eh ben dis donc, ça c'est net et précis.
    Merci de ton aide.

    PS : l'augmentation des bugs au fil des versions IE6 et IE7 est très amusant.
    J'attends avec impatience IE8...

  4. #4
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Pour avoir une nouvelle fois testé l'affichage catastrophique de mes DIVs flottants, je sais à présent que le navigateur est un IE6 SP2.

    Tout mon code passe bien en IE7, FF, Opéra, Sea Monkey
    Mais en quelques jours, je viens de voir 2 affichages détruits sur IE6 notamment.

    Qu'en pensez vous ? S'agit-il de versions logicielles isolées ou au contraire très répandues ?

  5. #5
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par php_de_travers
    Bonjour,

    pour afficher deux div côte à côte, j'en fais flotter un des deux.

    Que sait-on de précis sur les bugs d'affichage des navigateurs ?
    Lorsque tu mets que tu ne fais flotter qu'un des deux je pense immédiatement au bug des 3px qui apparaît justement sur IE6 sous cette configuration. Après tu as aussi le double-margin qui peut être à l'origine du problème observé.

    Si tu peux montrer les sites qui posent problème on pourrait peut-être pointer le doigt sur les bugs d'IE6 en cause, mais sans code; c'est difficile...

    Pour moi, IE8 aura un nouveau moteur de rendu (et pas platré sur une jambe de bois comme IE7)ou ne sera pas
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  6. #6
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    Bonjour Candygirl,

    je n'arrive pas à reproduire le bug d'affichage qui refuse assez systématiquement de faire flotter des div sous IE6 notamment.
    Par contre, j'ai des retours de personnes qui n'ont que cela.
    Faut-il faire flotter les 2 div, un à droite un à gauche ?
    C'est quoi le bug des 3 pixels ?

    Je craque !

    Merci de votre aide.

  7. #7
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par php_de_travers
    le bug d'affichage qui refuse assez systématiquement de faire flotter des div sous IE6 notamment.
    Tu n'as pas un exemple de ton code à nous montrer, une page en ligne sur laquelle on peut observer le bug dont tu parles?

    Citation Envoyé par php_de_travers
    Faut-il faire flotter les 2 div, un à droite un à gauche ?
    C'est effectivement une solution pour éviter le bug des 3px dont j'ai parlé.

    Citation Envoyé par php_de_travers
    C'est quoi le bug des 3 pixels ?
    IE6 ajoute 3px supplémentaire entre un div en float et le contenu adjacent. par exemple, dans un conteneur de 400px, avec un flottant de 200px et, à côté, un élément de 200px dans le flux, IE6 les affichera l'un en dessous de l'autre car il arrive à un total de 403px et non 400 => pas la place de les mettre côtes à côtes d'après lui.

    Un petit exemple:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type="text/css">
    * {margin:padding:0;}
    #m1 {width:403px;background-color:red;height:500px;}
    #m2 {width:200px;float:left;height:100px; background-color:blue;}
    #m3 {width:200px;height:150px; background-color:black;margin-left:200px;}
    </style>
    </head>
     
    <body>
    <div id="m1"><div id="m2"></div><div id="m3"></div></div>
    </body>
    </html>
    Si tu élargis le width de #m1 à 403, le bloc noir remonte à côté du bleu avec les 3px bien visibles entre deux.


    Après ton problème peut venir de plusieurs raisons différentes, difiicile de dire sans voir le code-source.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  8. #8
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    200 + 200 = 403

    Merci à toi Candygirl : cette démonstration est éloquente.
    Mon testeur vient de me confirmer que 2 div de 200 px ne peuvent pas se poser l'un à côté de l'autre dans un div conteneur de 400 px, sous IE.

    On peut donc être un cancre en calcul mental et devenir un des hommes les plus riches de la planète.
    Merci Bill Gates : à ton prochain passage, c'est le goudron et les plumes !

    Comment concilier les navigateurs et les bouses logicielles si on cherche quand même à afficher côte à côte ?

  9. #9
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par php_de_travers
    Comment concilier les navigateurs et les bouses logicielles si on cherche quand même à afficher côte à côte ?
    Tu as donné toi-même la solution plus haut: positionner les 2 éléments en float. Donc, dans mon exemple, tu remplaces le margin-left de 200 par un float right (ou float:left) et IE6 l'affiche correctement.

    La seule exception est si l'élément flottant a une dimension fixe et que l'autre doit occuper le restant de l'espace à disposition puisqu'on ne peut alors pas lui attribuer de width.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

Discussions similaires

  1. Bug d'affichage avec Eclipse Europa sous Vista
    Par T2! dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 06/11/2007, 16h31
  2. Bug d'affichage sous firefox avec un overflow:hidden
    Par scougirou dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 17/04/2007, 10h41
  3. Bugs à l'affichage avec IE7
    Par yiuche dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/12/2006, 15h02
  4. Réponses: 3
    Dernier message: 23/05/2006, 20h17
  5. Bug d'affichage sur un élément flottant
    Par Sayrus dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/12/2005, 02h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo