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

Conception Web Discussion :

Idée pour remplir automatiquement une div


Sujet :

Conception Web

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Idée pour remplir automatiquement une div
    Bonjour,

    je cherche a faire quelque chose comme cela :
    Lundi.............2 heures
    Mardi............2 heures
    Mercredi........3 heures

    Mon soucis c'est de remplir la div centrale ou il y a les points, je voudrais de cette div centrale (dans mon exemple div de class points) prenne l'espace restant et soit remplit par des points.
    Actuellement je remplis à la volé en JS le jour ("Lundi" - "Mardi" - "Mercredi) et l'horaire ("2 heures" - "3 heures"), qui sont des données stockées en BDD.

    Ma structure html :
    Code html : 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
    <div class="tab">
        <div class="ligne" id="Lundi">
            <div class="jour">Lundi</div>
            <div class="points"></div>
            <div class="horaires">2 heures</div>
        </div>
     
        <div class="ligne" id="Mardi">
            <div class="jour">Mardi</div>
            <div class="points"></div>
            <div class="horaires">2 heures</div>
        </div>
     
     
        <div class="ligne" id="Mercredi">
            <div class="jour">Mercredi</div>
            <div class="points"></div>
            <div class="horaires">2 heures</div>
        </div>
    </div>

    Mon css :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #fichePDV .tab{ height:220px; }
    #fichePDV .tab .ligne{ line-height:30px; }
    #fichePDV .tab .jour{ display:inline; float:left; }
    #fichePDV .tab .points{ display:inline; }
    #fichePDV .tab .horaires{ display:inline; float:right; }

    Je pense que c'est déjà un truc gérer et connu, juste je sais pas comment nommé mon problème pour faire une recherche sur le net, oui j'ai tenté "remplir un espace avec des points" mais vous vous en doutez ca n'a pas été concluant. Bref si quelqu'un pouvait m'orienté ce serait sympa. MERCI

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    ce que tu cherches à faire s'appelle si je ne m'abuse des points de conduite.

    Il existe plusieurs façons d'arriver à réaliser cela.

    A partir du code HTML suivant :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <h1>Points de conduite</h1>
    <ul class="liste">
      <li><span>Lundi</span><span>Patates</span></li>
      <li><span>Mardi</span><span>Patates</span></li>
      <li><span>Mercredi</span><span>Patates</span></li>
      <li><span>Jeudi</span><span>Patates</span></li>
      <li><span>Vendredi</span><span>Patates</span></li>
      <li><span>Samedi</span><span>Frites</span></li>
      <li><span>Dimanche</span><span>Sports</span></li>
    </ul>

    Méthode de la border-bottom
    le principe est de mettre une border-bottom "dotted" sur les <li> et de décaler les <span> vers le bas en leur mettant un couleur de fond pour caché cette bordure basse
    on utilise dans ce cas le CSS suivant
    Code css : 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
    ul.liste {
      max-width: 20em;
      padding: 0;
      list-style: none
    }
    ul.liste li {
      border-bottom: 1px dotted #000;
      position:relative;
      height:1.25em;
    }
    ul.liste span {
      position:absolute;
      bottom:-.5em;
      background:#fff; /* important pour masquer les points */
    }
    ul.liste span + span {
      padding-left:.25em;
      width:5em;
      right:0;
    }
    On n'a quand même pas bien le choix de l'aspect des "points" mais cette méthode simple est efficace depuis IE6, garantie de pérennité !

    Méthode utilisant la pseudo-classe :before
    à peine plus compliquée à mettre en oeuvre mais avec plus de CSS
    Code css : 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
    ul.liste {
      max-width: 20em;
      padding: 0;
      list-style: none
    }
    /* les points de conduite */
    ul.liste li:before {
      float: left;
      width: 0;                 /* important qu'il n'occupe pas de place */
      white-space: nowrap;
      content: ". . . . . . . . . . . . . . . . . . . . . . "; /* il en faut suffisament pour remplir la ligne */
    }
    ul.liste span  {
      background:#fff; /* important pour masquer les points */
    }
    ul.liste span:first-child {
      padding-right: 0.25em;
    }
    ul.liste span + span {
      float: right;
      padding-left: 0.25em;
      width:5em;
    }
    la pseudo-classe :before est appliqué sur l’élément <li> pour que les "points" restent alignés, on peut personnaliser le content à souhait mais c'est plus verbeux.


    Il existe également les méthodes mettant en oeuvre des images en background mais avec ces deux méthodes tu devrais obtenir ce que tu souhaites.


    Remarque :
    A ce jour la méthode CSS utilisant les Rendering leaders n'est encore pas opérationnelle, le sera t-elle un jour ?!

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Meric beaucoup "NoSmoking"
    Bonjour et merci !

    J'ai testé la première proposition elle est ultra simple a mettre en place et fonctionne très bien !

    C'est super

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2010, 21h05
  2. Réponses: 1
    Dernier message: 09/05/2010, 21h01
  3. [VS2003]remplir automatiquement une colonne d'un dataGrid
    Par loic20h28 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/07/2008, 13h23
  4. Réponses: 7
    Dernier message: 13/10/2007, 23h31
  5. Problème pour remplir automatiquement une table
    Par Atemi76 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/07/2007, 16h31

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