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 :

Div en colonne à largeure variable


Sujet :

Tableau en CSS

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Div en colonne à largeure variable
    Bonjour,

    Voici le contexte :

    j'ai 3 div contenu dans une autre div
    Les 3 div sont positionné de tel sorte qu'elle soient sur la même ligne. Elles forment donc 3 colonnes.

    Pour positionner ces div j'ai fait ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div class=contextGauche></div>
    <div class=contextDroite></div>
    <div class=contextMiddle></div>
    pour le css j'ai fait un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    .contextGauche
    {
        float: left;
    }
    .contextDroite
    {
        float: right;
    }
    .contextMiddle
    {
        overflow: hidden;
    }
    Les bouts de code ici sont simplifiés, je vous ai épargné les margin et autre padding qui n'apporte pas grand chose, je pense, à la problématique.

    Les 3 div se positionne correctement mais le problème que je doit surmonté est plus complexe.

    Maintenant que j'ai placé mes div je dois réussir avec les CSS uniquement à produire la spec suivante :

    si 1 seule div est remplie, elle doit prendre toute la largeur de la div conteneur
    si deux div sont remplies, elles doivent prendre toute la largeur de la div conteneur et avoir la même largeur (50% de la div conteneur chacune en gros)
    si les 3 sont remplies, elles doivent prendre toute la largeur de la div conteneur et avoir la même largeur (33% de la div conteneur chacun en gros).

    Le mecanisme du framework utilisé à l'avantage de passer les div vides de ce context en display:none.

    Actuellement si les 3 div sont remplies, la div de droite à une largeur équivalente à son contenu ce qui ne convient pas. Si cette div ne contient qu'un caractère par exemple, elle aura la largeur de cette unique caractère et la div du milieu prendra toute la largeur qui reste entre la div de gauche et la div de droite.

    Je pense que celà doit être faisable en CSS, mais aprés avoir chercher durant toute la journée d'aujourd'hui je me tourne vers la communauté

    Cordialement

  2. #2
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Je ne pense pas que ce soit une solution en soit, mais pour le moment j'ai "résolu" ma problématique en rajoutant dans le css de la div en float : right un width : 33%.

    Pas trés élégant je trouve mais ça fait le taf pour le moment.

    Je reste à l'écoute au cas où on me chuchoterait une solution plus classe.

Discussions similaires

  1. 2 Divs, dont une à largeur variable
    Par Invité dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 14/09/2011, 10h09
  2. Problème alignement div largeur variable
    Par pouic06 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 13/07/2011, 09h41
  3. PB de div à largeur variable
    Par gandoulfe dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 16/01/2009, 08h02
  4. Div conteneur à largeur variable.
    Par veekhaze dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/07/2008, 10h53
  5. affecter le résultat de chaque colonne à une variable
    Par zut94 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/11/2005, 17h35

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