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 :

alignement et positionnement de div : je ne m'en sort pas


Sujet :

Positionnement en CSS

  1. #1
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut alignement et positionnement de div : je ne m'en sort pas
    Bonjour,

    je sis entrain de mettre en place une page. Voici sa structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <div id="a">
       <div id="a1">
       </div>
       <div id="a2">
       </div>
    </div>
     
    <div id="b">
    </div>
    le div a est le conteneur de a1 et a2.
    J'aimerais mettre a1 à gauche de a2. Pour cela : j'ai utilisé float:right; pour a1 et float:left; pour a2. Cependant je suis obligé de définir les largeurs ce qui ne me plait pas.

    Ensuite, le div b ce positionne par dessus le div a et non en dessous. Je ne comprend pas pourquoi.

    Merci de votre aide pour résoudre ce problème.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut
    Essaye ceci :

    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
     
    .a {
      width: 100%;
      overflow: auto;
    }
     
    .a1 {
      float: left;
      width: 40px; 
    }
     
    .a2 {
      margin-left: 45px;
    }
     
    .b {
      clear: both;
    }
    Je n'ai pas testé mais de mémoire, tu devrais arriver à avoir quelque chose de pas trop mal.

  3. #3
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    Merci, c'est niquel.
    Je ne connaissais pas Par contre, j'aurais voulu éviter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    .a1 {
      float: left;
      width: 40px; 
    }
     
    .a2 {
      margin-left: 45px;
    }
    pour mettre quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .a1 {
      float: left;
      width: TOUT LE RESTE ; 
    }
     
    .a2 {
      float: right;
      width: 40px; 
    }
    Je ne sais pas comment exprimer :
    width: TOUT LE RESTE ;

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 148
    Par défaut
    Bonjour,

    Je n'ai peut-être pas très bien compris mais tu n'as qu'à utiliser ce qui a été dit plus haut : width: 100%;

  5. #5
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    en fait, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .a1 {
      float: left;
      width: 100px; 
    }
    alors ils prendra toute la largeur et le div a2 sera situé sous a1 (à droite)
    Donc cela ne passe pas.

    en fait il faudrait faire un width: 100%-55px; Mais je ne sais pas comment l'exprimer

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 34
    Par défaut
    Attention, tu ne dois mettre la propriété float que sur un seul div dans ton cas.
    Pour ton width=LE RESTE, tu peux l'exprimer avec un margin et sans mettre de propriété width à ton div.
    Si je comprends bien ce que tu veux faire, tu devrais avoir quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    .a2 {
        width: 50px;
        float: right;
    }
    .a1 {
        margin-right: 55px;
    }

  7. #7
    Membre éclairé Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Par défaut
    Citation Envoyé par mick8569 Voir le message
    Attention, tu ne dois mettre la propriété float que sur un seul div dans ton cas.
    Pour ton width=LE RESTE, tu peux l'exprimer avec un margin et sans mettre de propriété width à ton div.
    Si je comprends bien ce que tu veux faire, tu devrais avoir quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    .a2 {
        width: 50px;
        float: right;
    }
    .a1 {
        margin-right: 55px;
    }
    Lorsque je fais ceci, je me retrouve avec a2 qui passe sous a1 et donc ne reste pas à coté.

    J'obtien un résultat suffisant avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .a1 {
      float: left;
      width: 60%; 
    }
     
    .a2 {
      float: right;
      width: 40px; 
    }
    Donc ca ira comme ca.
    Merci pour votre aide.

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

Discussions similaires

  1. [CSS][firefox]positionner mes div sur une seule ligne
    Par hansaplast dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 29/03/2006, 14h44
  2. [CSS] Problème de positionnement de DIV
    Par Oberown dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 31/01/2006, 17h03
  3. [Browsers] positionner un div
    Par pp51 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/11/2005, 17h50
  4. [CSS]Problème de positionnement avec div
    Par Tueur_a_gage dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 25/10/2005, 23h48
  5. Positionnement de <div>
    Par Kikies dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/07/2005, 08h07

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