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 :

colonnes de même hauteur


Sujet :

Dimensionnement en CSS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 18
    Points : 14
    Points
    14
    Par défaut colonnes de même hauteur
    Bonjour je voudrais pouvoir faire une mise en page en colonne, j'ai donc un div parent contenant plusieurs autres div (un seul de class titre et plusieurs de class contenu) qui doivent être présentées en colonne avec le titre d'un coté et le contenu de l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <div class="section">
    <div class="titre">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    .titre {
            position:absolute;
     
    	width:20%;
    }
     
    .contenu {
    	position:relative;
     
    	left:20%;
     
    	width:80%;
    }
    Avec ce type de positionnement, j'ai des problèmes de chevauchement car la div de class titre ne prend pas toute la place du conteneur parent de class section. Comment y remédier ?
    Merci

  2. #2
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    Il est normal que ta div.titre ne prenne pas toute la hauteur. Une div s'adapte à son contenu donc elle ne prendra pas toute la hauteur.

    La question est :
    "pourquoi veux tu qu'elle prenne toute la hauteur ?"

    Si c'est juste d'un point de vue graphique, l'astuce consiste à mettre le même fond se répétant verticalement (si c'est possible) sur ta div.section pour simuler le fait que ta div.titre prend toute la hauteur.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Pour travailler en colonne, je te conseille d'utiliser dans le css des "float" qui permettent de mettre des div les uns à coté des autres. Par exemple, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div id="div1">
          blabla
    </div>
    <div id="div2">
          blabla
    </div>
    Pour mettre ces 2 div l'une à coté de l'autre, tu mets dans le css :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #div1{
       float:left;
    }
    #div2{
       float:left;
    }
    .clear{
       clear:both;
    }
    Et tu rajoute dans le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="div1">
          blabla
    </div>
    <div id="div2">
          blabla
    </div>
    <div class="clear"></div>
    La classe clear est utilisé lorsque lorsque tu veux reprendre "l'ordre normal des choses" afin que les div se remetent les unes en dessous des autres.
    Perso je pense que les "floats" c'est vital....

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par pop_up Voir le message
    Il est normal que ta div.titre ne prenne pas toute la hauteur. Une div s'adapte à son contenu donc elle ne prendra pas toute la hauteur.

    La question est :
    "pourquoi veux tu qu'elle prenne toute la hauteur ?"

    Si c'est juste d'un point de vue graphique, l'astuce consiste à mettre le même fond se répétant verticalement (si c'est possible) sur ta div.section pour simuler le fait que ta div.titre prend toute la hauteur.
    Bonjour, je voudrais que la div prenne toute la hauteur car il y a un chevauchement entre plusieurs div titre lorsque le texte de la div contenu prend moins de place que le texte de la div titre c a d quand la hauteur de la colonne contenu et plus petite que la hauteur de la colonne titre.
    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
     
    <div class="section">
    <div class="titre">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    </div>
    <div class="section">
    <div class="titre">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    <div class="contenu">
    </div>
    </div>
    @addock: j'ai aussi essayé avec float left pour la colonne titre et un clear:both, mais il apparait d'autres problèmes, en particuliers un gros décalage entre la colonne titre et contenu. Plutot entre les éléments dans la div contenu et la les éléments de la div titre.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 35
    Points : 41
    Points
    41
    Par défaut
    Les décalages peuvent être très vite résolues avec des margin et des padding.
    Personnellement je trouve ca beaucoup plus simple. J'organise d'abord grossierement des div avec des float puis je les positionne précisement avec des margin et des padding avec l'aide du module Firebug sous Mozilla. C'est impressionnant comme on bosse vite de cette manière...

  6. #6
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    comme te l'as dit "addock", ton problème vient de tes positionnements.

    Regarde la galerie et tu devrais trouver des mises en pages qui t'interessent :
    http://css.developpez.com/galerie/?p...se-en-page#mp2

    En regardant ton code, tu as besoin d'une colonne de 20% à gauche et d'une seconde à droite qui fasse 80%. ça donnerait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <div class="section">
        <div class="colgauche">ton titre</div>
        <div class="contenu">tes contenus</div>
    </div>
    tu répètes ça tant que tu le souhaite, tu utilises les positionnements flottant pour positionner tes colonnes et ça devrai fonctionner


  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Ok j'ai réussi a placer les éléments comme je le souhaitais avec un float:left et un float:right. Maintenant j'ai un autre problème c'est que je n'arrive pas à séparer les différentes div de class section vu que les div titre et contenu ne sont plus dans le flux. Enfin le problème des colonnes est résolu, merci a vous.

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

Discussions similaires

  1. Paragraphes de même hauteur en colonne
    Par Claude30120 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/05/2015, 13h59
  2. [Article] Créer des colonnes de même hauteur en CSS
    Par Torgar dans le forum Publications (X)HTML et CSS
    Réponses: 7
    Dernier message: 28/08/2012, 11h04
  3. Créer des colonnes de même hauteur en CSS
    Par Torgar dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 28/08/2012, 11h04
  4. gérer colonnes même hauteur avec un div et float left
    Par sid611 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/07/2008, 07h39
  5. Colonnes de même hauteur avec bordures : possible sans tableau ?
    Par EnidGwa dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 17/10/2007, 15h18

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