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 :

Classe pour réinitialisation de compteur


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut Classe pour réinitialisation de compteur
    Bonjour,

    Je souhaite utiliser un counter CSS et le réinitialiser lorsqu'une autre classe est présente, mais lors de la réinitialisation je créé un nouveau compteur à la place :

    Voici le code CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    body {
      counter-reset: num ;
    }
    .number {
      counter-increment: num;
    }
    .number::before {
      content: counters(num, ' - ');
    }
    .reset {
      counter-reset: num ;
    }
    et le
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="number">-</div>
    <div class="number">-</div>
    <div class="number">-</div>
    <div class="number reset"> Reset</div>
    <div class="number">-</div>
    <div class="number">-</div>
    <div class="number">-</div>

    Voici une version fonctionnelle du code : https://jsfiddle.net/ab81qo5j/

    Je vois bien que le counter-reset de la class .reset créé un nouveau compteur avec le même nom. J'ai bien noté que c'est une question de portée, mais là je n'arrive pas à comprendre le problème... Est-ce que quelqu'un est capable de m'aider ?

    Merci par avance

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut
    Je répond moi-même à la question.

    Il suffit que d'enlever l'initialisation du compteur sur body...

  3. #3
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    Je vois bien que le counter-reset de la class .reset créé un nouveau compteur avec le même nom.
    oui c'est le principe qui permet de numéroter les liste <ol> par exemple, il est donc important de conserver l'état/valeur du parent.

    Par contre tu peux rencontrer des soucis d'interprétation entre les navigateurs.
    Tu peux regarder du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .reset {
    /* counter-reset: num 0;/**/
      counter-set: num 1;
    }
    peut-être plus stable, mais inconnu pour IE.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut
    J'ai ajouté une réinitialisation sur le premier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .number:nth-child(1) {
         counter-reset: num;
    }

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Pourquoi ne pas utiliser une liste <ol> ou mettre un conteneur pour chaque groupe ?

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Par défaut
    Ce n'est pas du tout le même usage, je souhaite numéroter des titres je ne vais pas faire de la bidouille avec des ol et je veux surtout que la numérotation s'adapte automatiquement.

    En tout cas, avec counter-reset au bon endroit c impeccable !

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

Discussions similaires

  1. Réinitialisation des compteurs pour les sections
    Par Gildas86 dans le forum Mise en forme
    Réponses: 8
    Dernier message: 17/07/2019, 15h04
  2. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  3. [c++]Architecture des classes pour un jeu
    Par Pegasus32 dans le forum C++
    Réponses: 23
    Dernier message: 16/02/2005, 14h07
  4. Réponses: 7
    Dernier message: 08/01/2005, 13h24
  5. Diagramme des classes pour l'interface visuel
    Par robv dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 25/06/2004, 10h50

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