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 :

Aligner 2 div : compatibilité navigateur


Sujet :

Positionnement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut Aligner 2 div : compatibilité navigateur
    Bonjour,

    sur mon site web j'ai un menu à gauche et le contenu de mon site à droite. Pour aligner ces 2 div j'ai utilisé
    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
    20
    21
    div#Idivcontenu{
    background-color:#6C92CA;
    margin-left: 380px;
    padding-left:7px; 
    padding-top:1px;
    min-height:450px ; 
    }
     
    div#MonMenu{
    /*float permet de mettre 2 div l'une à coté (ici gauche) de l'autre*/
    float:left;
    background-color:#6C92CA;
    }
     
    div#MonFooter{
    /*Permet de supprimer le glissement due à float:left*/
    clear:both;
    font-weight: normal; /*grosseur du texte*/
    font-size:x-small; /*taille du texte*/
    font-family:Arial, Helvetica, sans-serif;
    }
    Tout fonctionne bien sauf sous IE7 et FF2.0 où les 2 div ne sont pas aligner mais l'une est en haut à gauche et l'autre en bas à droite.
    Pourquoi cette différence ?

    Merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Par défaut
    Dans ce cas la généralement je mets un attribut float sur les deux div qui doivent être alignés.

    Essaye également de déclarer la largeur de ton menu et du conteneur (je crois que IE 6 ou 7 n'aime pas quand il n'y a pas de taille déclarée):

    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
    div#Idivcontenu{
    float:left;
    width: 300px;
    background-color:#6C92CA;
    margin-left: 380px;
    padding-left:7px; 
    padding-top:1px;
    min-height:450px ; 
    }
     
    div#MonMenu{
    /*float permet de mettre 2 div l'une à côté (ici gauche) de l'autre*/
    float:left;
    width: 200px;
    background-color:#6C92CA;
    }

  3. #3
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Citation Envoyé par Général03 Voir le message
    Tout fonctionne bien sauf sous IE7 et FF2.0 où les 2 div ne sont pas aligner mais l'une est en haut à gauche et l'autre en bas à droite.
    Pourquoi cette différence ?
    Il n y a pas de raison, pourrais tu nous montrer ton code (X)HTML complet STP ?

  4. #4
    Membre éclairé Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Par défaut
    Dans ce cas la généralement je mets un attribut float sur les deux div qui doivent être alignés.
    Non toujours le même comportement
    Essaye également de déclarer la largeur de ton menu et du conteneur (je crois que IE 6 ou 7 n'aime pas quand il n'y a pas de taille déclarée):
    En effet si je fais cela j'obtiens bien mes 2 div alignées mais du coup elle ne sont pas de la largeur de la page (j'ai essayé min-height mais dans ce cas les div ne sont plus alignées)

    Il n y a pas de raison, pourrais tu nous montrer ton code (X)HTML complet STP ?
    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
    20
    21
    22
    23
    24
    25
    26
    <body>
    <div id="MonMenu">
     <!--Partie menu-->
     
     <div id="IListeMenu">   
     </div>
     
     <div id="Imeteo">    
     </div>
     
     <!--Partie Divers-->
     <div>   
     </div>
     
    </div>
     
    <div id="Idivcontenu">
     
     <div> </div>
     <div> </div>
     
    </div>
     
    <div id="MonFooter">
    </div>
    </body>
    Le contenu de chaque balise est longue donc j'ai supprimé le contenu.

  5. #5
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Le margin-left attribué à #Idivcontenu devrait être égale à la largeur de #MonMenu.
    Et encore je ne suis pas sûr que ce soit l'origine du problème.
    T'as rien d'attribuer aux autres éléments ?

    Poste la totalité du code (X)HTML/CSS stp.

  6. #6
    Membre chevronné
    Profil pro
    Chef Gérant
    Inscrit en
    Octobre 2005
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef Gérant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2005
    Messages : 230
    Par défaut
    le min-height (et le width aussi) confere le haslayout dans IE7 , la marge va donc s'appliquer au bord du flottant et pas de la page . si tout est reglé au pixel , il va passer sous le flottant faute de place pour la marge.
    <edit-hs-note>jetez le vieux IE7 stand alone et IE6 et laissez s'installer IE8</edit-hs-note>

    Pour FF2 , la majuscule dans l'id est peut-etre la cause de ton souci . chiffre et majuscule sont interdits en guise de premier caractére (me semble t-il ...) . Mais a chaque fois que j'ai vu ça , FF2 zappe tout les styles des id ainsi nommé.


    Sans code , pas franchement possible de t'en dire plus .

    Test quand même sans le min-height et sans le width , ou sans marge + overflow et modifie tes id comme ceci :
    monMenu , idivcontenu monFooter dans le html et
    #monMenu , #idivcontenu , #monFooter dans ta feuille de style.

    GC

    <mode> je fais gaffe au terme que j'emploi </mode>

  7. #7
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    <HS>

    Citation Envoyé par CCyrillus Voir le message
    le min-height (et le width aussi) confere le haslayout dans IE7 , la marge va donc s'appliquer au bord du flottant et pas de la page . si tout est reglé au pixel , il va passer sous le flottant faute de place pour la marge.
    Concernant le HasLayout et les margin :
    • Sous IE7 la marge gauche se réfère au conteneur, pas l'adjacent flottant ;
    • Sous IE6- la même chose, sauf le bug des 3px jog qui apparait ici à l'extérieur.


    Concernant le contexte de formatage et les margin :
    Le comportement a changé avec les nouvelles versions de Firefox, Opéra et Safari.
    • Sous IE8, Firefox3+ et Safari4 la marge gauche se réfère au conteneur ;
    • Sous Opéra, Firefox2 et SeaMonkey la marge gauche se réfère à l'adjacent flottant.


    EDIT : tests effectués sur des versions natives.

    </HS>

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

Discussions similaires

  1. Popup et compatibilité navigateurs
    Par alain31tl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/12/2005, 14h27
  2. setAttribute et compatibilité navigateurs .°/ ?
    Par Lareine dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/10/2005, 01h03
  3. [CSS]Aligner les div suivant la résolutation d'écran
    Par nebule dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/09/2005, 11h00
  4. [Compilation][Web]Compatibilité navigateurs
    Par Niktou dans le forum Général Java
    Réponses: 4
    Dernier message: 01/09/2004, 14h09

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