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 :

Problème avec div à droite.


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut Problème avec div à droite.
    Bonjour,

    Je voudrais avoir 3 colonnes divs contenues dans
    un div global mais j'ai un problème avec le div de droite:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <div id="global">
     
    <div id="navigation">
     
    <p style="margin-top: 20px;">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
    ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis
    parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,
    pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec
    pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,
    rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede
    mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
    Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat
    vitae, eleifend ac, enim.
    </p>
    </div>
     
     
    <div id="content">
     
    <p style="margin-top: 20px;">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
    ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis
    parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,
    pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec
    pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,
    rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede
    mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
    Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat
    vitae, eleifend ac, enim.
    </p>
     
    </div>
     
     
    <div id="righter">
    <p style="margin-top: 20px;">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
    ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis
    parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec,
    pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec
    pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo,
    rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede
    mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi.
    Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat
    vitae, eleifend ac, enim.
    </p>
    </div>
     
    </div>
    css:
    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
     
    #global {
      width: 100%;
      overflow: hidden;
    }
     
    /* Menu de navigation */
    #navigation {
      width: 120px;
      float: left;
      background-color: #66cc33;
    }
     
    #content{
      float: left;
      width: 580px;
      background-color: #cccc99;
    }
     
    #righter{
      margin-left: 700px;
      background-color: #cfe1eb;
      width: 200px;
    }
    Les divs navigation et content se comporte normalement
    dans les 2 browsers (FF, IE6), par contre le div de droite (righter)
    pose problème.

    Dans FF c'est presque bon sauf que le div descend de 20px
    (dû au margin-top: 20px; des paragraphes j'imagine).
    Dans IE6 le div se retrouve carrément en bas à droite.

    Quel est le problème et comment faire pour que ça fonctionne dans les 2 browsers ?

    D'avance merci.

  2. #2
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Remplace par ceci dans ta css :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #righter{
      float:left;
      background-color: #cfe1eb;
      width: 200px;
    }
    Pourquoi mettre un margin pour positionner la troisième colonne ? Suffit de mettre un float: left...

  3. #3
    Membre éclairé Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Par défaut
    Merci pour ta réponse
    En fait en cherchant sur le net j'ai trouvé un moyen un peu différent
    mais plus "logique" pour aligner les colonnes.
    Pour info, dans mon exemple il faut mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #righter{
      overflow: hidden; /* Contexte de formatage. */
      height: 1%; /* Pour le HasLayout (IE)*/
      background-color: #cfe1eb;
      width: 200px;
    }

  4. #4
    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 tintin72 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #righter{
      overflow: hidden; /* Contexte de formatage. */
      height: 1%; /* Pour le HasLayout (IE)*/
      background-color: #cfe1eb;
      width: 200px;
    }
    Le height de 1% est ici inutile et devrait être retiré puisque le width de 200px donne déjà le layout.

    De plus il faut éviter de conjuguer le overflow:hidden et le height de 1%, ce qui fait carrément disparaître le contenu du div sur les IE en mode quirks ... (=> IE5.5 et moins, IE 6 et 7 en cas de mauvaise déclaration du doctype). Il ne devrait donc être défini que pour les navigateurs le requiérant et l'overflow remis à visible.

    L'ajout du height de1% dans le css doit être bien maîtisé pour prévenir ce genre de comportement qui pourrait survenir sur tous les navigateurs au cas où le parent serait appelé à recevoir un height explicitement renseigné dans le futur.

    La technique de l'overflow + haslayout est particulièrement intéressante dans les cas où l'élément est de largeur variable, ce qui n'est pas ton cas ici, vu le width 200px renseigné. L'utilisation d'un float serait donc tout à fait appropriée (ne serait-ce que pour éviter la configuration du bug des 3px sur IE6-).
    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

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

Discussions similaires

  1. Gros problème avec div
    Par nefertitia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 19
    Dernier message: 24/08/2007, 20h26
  2. problème avec Click droit de la souris
    Par patou41000 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 22/05/2007, 10h32
  3. [HTML] Problème avec DIV, impossible de mettre la hauteur à 100% !!
    Par keyser.greg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 01/03/2007, 11h46
  4. Réponses: 8
    Dernier message: 15/12/2006, 17h15
  5. Problèmes avec div id...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 28/02/2006, 14h56

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