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 :

[IE] Répète le margin-bottom


Sujet :

CSS

  1. #1
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut [IE] Répète le margin-bottom
    Coucou.

    Aujourd'hui j'ai décidé de relever la liste des bugs IE.

    Je bloque sur un nouveau problème que voici :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div style="width:400px">
       <div style="margin-bottom:15px;background:#0ff">
          A
       </div>
       <div style="float:left;background:#0f0;width:400px">
          B
       </div>
       <div style="background:#f09">
          C
       </div>
    </div>

    Dans le cas présent, IE6 (bug corrigé sur IE7 visiblement) me répercute le margin-bottom du premier div sur le second.

    Avez-vous trouvé le moyen de corriger ce beugallamormoileneux ?

    Merci !

  2. #2
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    tu as quoi comme DOCTYPE ?

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Peu importe le DOCTYPE, ça le fait avec tous ceux que j'ai essayé, HTML ou XHTML.

  4. #4
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    Tu as essayé en forçant le margin bottom a 0. ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div style="width:400px">  
    <div style="margin-bottom:15px;background:#0ff">  A </div> 
     <div style="margin-bottom:0;float:left;background:#0f0;width:400px">  B </div>  
    <div style="background:#f09">  C </div> 
    </div>

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par magnus2005
    Tu as essayé en forçant le margin bottom a 0. ?
    Je n'avais pas essayé, non, mais visiblement ça n'a aucune incidence .. :/

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Ce comportement est induit par le bug des 3px d'IE6. Si tu attribues un width de 403px ou plus à ton div conteneur tu verras qu'il n'y a plus ton espace. T'expliquer exactement le raisonnement D'ie, par contre, je ne saurais pas...

    De même si tu places ton dernier conteneur aussi en float left tu n'auras plus le pb.
    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 :resolu: si c'est le cas

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    @Candygirl : Encore une fois je m'incline.

    C'est vrai que si je mets 402 à la place de 403 ça ne fonctionne plus.
    Donc, comme mon design est fixe et qu'augmenter la taille de 3px de mon div conteneur est inconcevable, je vais prendre la deuxième solution, soit mettre un float sur le dernier div. =)

    Merci à toi !

  8. #8
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    Ceci est du domaine de l'etrange (musique X files en arriere plan)

    En supprimant le float left aussi ça fonctionne

    Code : 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
    18
    19
     
    <!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=utf-8"/>
    <title>TEST HTML</title>
    <style type="text/css">
     .main {width:400px; }
        .a {margin: 0px 0px 15px 0px;background:#0ff; }
        .b {background:#0f0;width:400px; }
    .c {background:#f09; }
    </style>
    </head>
    <body >
    <div class="main">  <div class="a" >  A </div> 
    <div  class="b">  B </div>
    <div class="c" >  C </div> </div>
    </body>
    </html>

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par magnus2005
    En supprimant le float left aussi ça fonctionne
    Oui, je sais, mais j'ai besoin de ce float:left. ^^

    Là j'ai épuré le code au maximum pour reproduire le bug avec le minimum de code.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par magnus2005
    En supprimant le float left aussi ça fonctionne
    Effectivement je me demandais aussi le pourquoi du float ici ...
    EDIT: @Bisûnûrs je me disais aussi que tu avais du simplifier et donc que le float était pas là pour rien

    En fait le bug des 3px apparaît lorsqu'on a du contenu dans le flux, adjacent au flottant (dans ce cas, le 3ème div se serait placé à côté du flottant s'il avait eu la place, d'où l'apparition du bug).

    Plus de float = plus de problème, tout en float = plus de problème non plus

    Ce qui m'amène en fait à une autre solution, pour autant que le float soit requis:
    mettre un clear sur le dernier div pour qu'il ne soit plus vu comme adjacent par IE. Mais bon, faut pas rêver; ça ne marche pas

    En fait si, ça marche pour autant que le dernier div soit doté de layout Finalement, il y a un brin de logique dans IE6

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div style="width:400px">
      <div style="margin-bottom:15px;background:#0ff">  A </div>
      <div style="float:left;background:#0f0;width:400px">  B </div>
      <div style="background:#f09;clear:left;width:100%;">  C </div>
    </div>
    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 :resolu: si c'est le cas

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Citation Envoyé par Candygirl
    Finalement, il y a un brin de logique dans IE6
    La logique d'IE6 n'apparaît-elle que lorsque l'on doit corriger nous-mêmes les bugs illogiques de celui-ci ?

    Vous avez 4 heures.

    En tout cas félicitations pour la trouvaille de toutes ces solutions à tous ces bugs. =)

  12. #12
    Membre très actif Avatar de magnus2005
    Profil pro
    Ingenieur SI
    Inscrit en
    Avril 2005
    Messages
    454
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingenieur SI

    Informations forums :
    Inscription : Avril 2005
    Messages : 454
    Par défaut
    Trop forte Candygirl,
    perso en general je renonce,
    quand je parviens pas à faire afficher les DIV correctement sous IE 6 je repasse en TABLE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de hauteur de div et de margin-bottom.
    Par jdecout dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 22/04/2009, 23h56
  2. pb margin-bottom sur un input
    Par SiriusBlack_648 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/08/2008, 20h12
  3. [HTML] style = margin-bottom ne fonctionne pas
    Par ctobini dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/07/2008, 10h51
  4. margin-bottom non voulu sous IE
    Par vraipolite dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 08/02/2007, 17h07
  5. [XHTML]Problème avec <img> et margin-bottom
    Par Locelot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 12/09/2005, 22h02

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