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 :

[CSS] Float et Margin


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 [CSS] Float et Margin
    Bonjour,

    Qui pourrait me dire pourquoi IE double les marges quand on utilise un float ?

    Par exemple, un test tout con :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .gnia{
       background:#f00;
       width:100px;
       height:100px;
       float:left;
       margin-left:20px;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="gnia"></div>
    Sur Firefox, la marge gauche fait 20 pixels alors que sur IE, la marge gauche fait 40 pixels.

    J'ai remarqué que IE ne doublait le marges que lorsqu'il y a un float.

    Mais pourquoi ? Et quelle(s) solution(s) adopter ?

    Au passage, IE7 n'a plus ce problème.

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Citation Envoyé par BisounoursJos
    (1)Mais pourquoi ? (2)Et quelle(s) solution(s) adopter ?
    1. Parce que les types qui ont fait IE, ont fait ce qu'ils ont voulu du coup tu te retrouves avec un navigateur qui ne respecte aucun standard.
    2. Faire un lien sur ta page vers le site de Mozilla Firefox en incitant les gens à télécharger Firefox et à utiliser un joli renard de feu plutôt qu'un vilain "E" tout bleu

  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
    Citation Envoyé par trotters213
    1. Parce que les types qui ont fait IE, ont fait ce qu'ils ont voulu du coup tu te retrouves avec un navigateur qui ne respecte aucun standard.
    Admettons que les développeurs d'IE ne sont pas supers doués (tout est relatif, même la relativité) et/ou qu'ils ne veulent pas respecter les standards, il n'y a aucune logique à doubler les valeurs d'un margin lors d'un float, c'est d'un aberrance totale.
    Citation Envoyé par trotters213
    2. Faire un lien sur ta page vers le site de Mozilla Firefox en incitant les gens à télécharger Firefox et à utiliser un joli renard de feu plutôt qu'un vilain "E" tout bleu
    Je développe un backoffice pour une entreprise online assez connue, donc les commerciaux qui utilisent ce backoffice et de surcroît la haute administration de cette entreprise ne passeront malheureusement jamais à Firefox. ^^

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2004
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 310
    Par défaut
    Citation Envoyé par trotters213
    2. Faire un lien sur ta page vers le site de Mozilla Firefox en incitant les gens à télécharger Firefox et à utiliser un joli renard de feu plutôt qu'un vilain "E" tout bleu
    Le logo représente un panda rouge qui est parfois appelé firefox ou red panda en anglais.

  5. #5
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    l'Ailurus fulgens pour être très précis j'ai fait la transcription fire=feu fox=renard.
    C'est un peu come tout ceux qui croit que Tux est un pingouin, il n'en est pas un

    Pour en revenir au problème je dois avoir le même problème que toi puisque sur le site que je fait, sous Opera et FF le rendu est le même et sous IE, les marges sont plus grandes mais j'y est apssé du temps dessus et je ne vois pas de solutions.

    PS : voici le lien comme ça tu pourras me dire si le problème est similaire.

  6. #6
    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
    @trotters213 : Hum, pour le décalage du menu vers le bas par rapport au logo, ce n'est pas le même problème, mais c'en est un récurrent que j'ai souvent rencontré pour la conception de mes tableaux en div, c'est juste que IE, passe en dessous de ton logo, alors que Firefox se place à côté. Mets une bordure à tes éléments pour t'en rendre mieux compte. Je n'ai pas trouvé de solution pour pallier à ce problème.

    De plus je n'arrive pas à comprendre le décalage entre le menu et le contenu.

    Sinon, mon problème je l'ai résolu depuis longtemps, j'ai tout simplement fait un <div style="width:20px;float:left"></div>, mais le faire à chaque fois à la place d'une marge c'est lourd.

    Autre problème d'IE, si tu donnes une valeur inférieure à 20 pixels à un div, il reste à minimum 20 pixels, tu ne peux pas faire un div de 2px de haut.

  7. #7
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Citation Envoyé par BisounoursJos
    Autre problème d'IE, si tu donnes une valeur inférieure à 20 pixels à un div, il reste à minimum 20 pixels, tu ne peux pas faire un div de 2px de haut.
    Faux !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div class="gnia"></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    .gnia{
       background:#0f0;
       width:100px;
       height:2px;
       line-height: 2px;
       font-size: 2px;
       float:left;
       border: 1px solid red;
    }
    Manifestement, IE reserve toujours la place pour au moins une ligne de texte... C'est donc là qu'il faut agir...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  8. #8
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Citation Envoyé par BisounoursJos
    Qui pourrait me dire pourquoi IE double les marges quand on utilise un float ?
    Honnetement, je ne sais pas, j'avais entendu parler d'un bug de trois pixels avec les éléments flottants sous ie (cf http://www.cssplay.co.uk/boxes/floatfix.html )

    Sinon, si tu peux remplacer le margin-left par un padding-left sur le conteneur.
    Mais si tu enfiles les éléments floats, ca ne va pas le faire...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  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
    @MasterOfChakhaL : Je suppose que ces deux problèmes ont la même origine en effet.

    Edit :

    Ah, d'accord, merci pour l'astuce !

    Mais à priori, juste définir height:2px aurait dû suffire si IE avait bien été programmé, non ?

    Surtout qu'il me semble que le problème persiste sur IE7.

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

Discussions similaires

  1. Positionnement Div Css float clear
    Par Ashgenesis dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 02/03/2007, 14h19
  2. Propriété CSS proche de margin
    Par danyboy85 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 22/12/2006, 09h43
  3. CSS : Float, Overflow : IE / FF
    Par unicyclon dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 25/07/2006, 10h28
  4. xHTML/CSS Problème de Margin
    Par Invité dans le forum Mise en page CSS
    Réponses: 17
    Dernier message: 26/06/2006, 09h47
  5. [CSS] float un peu bizarre sous FF.
    Par elraton dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/10/2005, 18h59

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