


Il existe certaines fonctionnalités CSS que nous n'utilisons probablement pas très souvent. Je pense que les compteurs CSS entrent dans cette catégorie pour la plupart d'entre nous, et plus que probablement pour deux raisons:
- Ils ne semblent pas avoir de nombreux cas d'utilisation.
- Le code pour les écrire est un peu complexe.
J'ai récemment vu un cas d'utilisation pratique pour les compteurs, donc j'ai pensé que je donnerais un bref cours intensif dans la façon dont les compteurs sont écrits et partagent ce cas d'utilisation ici.
Les plats clés
- Les compteurs CSS fournissent une numérotation dynamique dans CSS, permettant la numérotation des éléments non consécutifs, qui peuvent être réorganisés sans avoir besoin d'ajuster manuellement la numérotation. Ceci est réalisé grâce à l'utilisation de pseudo-éléments et de CSS contre-spécifiques.
- Malgré les complexités initiales, les compteurs CSS ne sont pas difficiles à maintenir une fois que le concept des pseudo-éléments de CSS est compris. Bien que le contenu généré puisse avoir des problèmes d'accessibilité, la plupart des navigateurs le prennent en charge et sont reconnus par les lecteurs d'écran.
- Un cas d'utilisation pratique pour les compteurs CSS est observé dans les spécifications de niveau 4 des sélecteurs du W3C, où ils sont utilisés pour compter les «problèmes» et les «exemples» entrecoupés dans le contenu. Cela permet une addition, une suppression ou une réorganisation facile des éléments tout en mettant automatiquement à la mise à jour de la numérotation.
un cours intensif dans les compteurs CSS
Les compteurs CSS vous permettent de numéroter des éléments dans CSS en utilisant la numérotation dynamique, semblable à la façon dont une liste commandée fonctionne. Mais les compteurs CSS sont très différents. Cette fonction utilise un pseudo-élément combiné avec des CSS contre-spécifiques pour ajouter / annexer un «nombre» dynamique à un ensemble d'éléments spécifié.
Voici un exemple de code, similaire à celui que j'utiliserai dans la démo à la fin de cet article:
<span><span>.container</span> { </span> <span>counter-reset: issues 0; </span><span>} </span> <span><span>.issue:before</span> { </span> <span>counter-increment: issues 1; </span> <span>content: "Issue " counter(issues, decimal); </span> <span>display: block; </span><span>}</span>
Le premier bloc de déclaration définit la portée du décompte. Cela signifie que mon compteur n'augmentera que dans les éléments qui ont une classe de container. J'ai choisi un identifiant personnalisé appelé «problèmes», qui est nécessaire pour relier le conteneur aux éléments comptés.
Le deuxième bloc de déclaration utilise: avant le pseudo-élément (je pourrais alternativement à utiliser: après, mais ce serait rare dans un compteur) et la propriété de contenu pour prétendre le contenu défini.
Dans le cadre de la valeur de la propriété de contenu, j'utilise la fonction compteur () avec une chaîne, similaire à quelque chose qui pourrait être fait dans JavaScript ou un autre langage de programmation plus typique. La fonction compteur () prend deux arguments: l'identifiant de compteur défini précédemment (dans ce cas, «problèmes») et le style de compteur, qui peut être n'importe quelle valeur utilisée pour la propriété de type de style liste dans les listes ordonnées. La valeur par défaut est «décimale», que j'utilise dans cet exemple.
Si vous êtes toujours confus comment les compteurs fonctionnent, peut-être que cette mini infographie vous aidera:
Et si cela ne suffit pas, voici quelques ressources supplémentaires avec plus d'informations, y compris mon propre article où j'ai initialement publié une infographie similaire:
- Compteurs CSS: Counter-Increment and Friends (WEETS IMPRESSIONNANTS)
- Comment bénéficier du contenu et des comptoirs générés par CSS (Smashing Magazine)
- Styles de compteur CSS Niveau 3 (W3C Spec)
Ce dernier lien est le projet de rédacteur de la spécification des compteurs, qui introduit certaines nouvelles fonctionnalités contre-liées qui n'ont probablement pas grand-chose, le cas échéant, et qui pourraient être à risque dans les futures versions de la spécification. Les fonctionnalités que j'utilise dans cet article, cependant, sont le croisement, remontant à IE8.
Déterminer la valeur des compteurs CSS
À un regard superficiel, deux problèmes majeurs surviennent lors de la première réflexion sur la mise en œuvre des compteurs CSS:
- Les listes commandées font déjà cela, alors pourquoi aurais-je besoin d'une fonctionnalité si complexe juste pour numéroter les éléments?
- Le contenu généré n'est pas accessible et cela mélange du contenu avec la présentation.
Le premier de ces deux problèmes n'est vraiment pas du tout un problème. Si vous voulez des éléments consécutifs numérotés, il serait approprié d'utiliser une liste ordonnée (c'est-à-dire un
De plus, bien que les compteurs puissent être un peu complexes en regardant le premier coup d'œil, une fois que vous avez compris le concept des pseudo-éléments de CSS, ils ne sont vraiment pas si difficiles à modifier et à entretenir.
L'autre problème, lié à l'accessibilité, ne semble pas être un problème aussi important que par le passé. Un article de Léonie Watson a conclu:
«[g] Le contenu piqué est une accessibilité pris en charge dans la plupart des navigateurs et reconnue par les lecteurs d'écran en conséquence.»
Le support, cependant, n'est pas à 100%, donc je dirais que si vous allez utiliser des pseudo-éléments pour générer du contenu, le «contenu» devrait être de valeur décorative et non cruciale pour la compréhension ou la fonctionnalité de la Site Web Il est inclus. Avec cette approche équilibrée à l'esprit, il devrait être bien d'utiliser des compteurs dans certains cas comme celui décrit ci-dessous.
un simple cas d'utilisation
Récemment, je regardais les spécifications de niveau 4 des sélecteurs du W3C et j'ai noté qu'ils avaient des «problèmes» et des «exemples» entrecoupés dans le contenu. Je l'ai déjà vu, mais seulement alors j'ai décidé de l'enquêter un peu. Ces éléments sont numérotés, alors je me suis demandé comment ils pouvaient les ajouter et les retirer sans avoir à ré-numéroter l'ensemble à chaque fois. J'ai pensé que c'était peut-être un script, ou bien généré sur le back-end ou quelque chose comme ça.
non. Ils utilisent des compteurs CSS, comme indiqué dans la capture d'écran ci-dessous:
Dans leur page, ils ont des problèmes numérotés (les boîtes rouges) et des exemples numérotés (les boîtes jaunes). En utilisant un identifiant personnalisé pour chaque ensemble compté, ils peuvent facilement ajouter, supprimer ou même réorganiser les éléments et le CSS ajoutera automatiquement les nombres corrects aux éléments.
En outre, ces pages de spécifications incluent également un index de problèmes à la fin de la page, qui utilise le même identifiant de compteur que les problèmes, mais dans une nouvelle portée, il démarre donc le compte frais. La liste des problèmes en double crée un peu plus de travail pour maintenir les problèmes, mais, encore une fois, la commande est généralement facile à entretenir tant qu'elle correspond à ce qui a été modifié dans l'organisme de contenu.
Une démo glisser-déposer
J'ai recréé l'exemple du W3C afin que vous puissiez jouer avec le fonctionnement des compteurs, mais aussi pour voir à quel point il est facile de créer des listes dynamiques de cette manière à partir d'articles non adjacents avec juste HTML et CSS.
Voir le Pen 20FE8F19AE48C210DA6C5DF78C0CF6F8 par SitePoint (@SitePoint) sur Codepen.
Dans la démo, j'utilise la fonctionnalité triable de JQueryui pour vous permettre de glisser et de réorganiser l'un des paragraphes de la page, y compris les cases «Issue» et «Exemple». Notez comment les nombres changent en fonction de l'endroit où les éléments sont traînés (bien que le comportement du nombre semble être un peu excentrique pendant le processus de traînée). J'ai également inclus une «liste de problèmes» en double en bas, comme sur les pages du W3C.
Conclusion
Cela devrait rendre un peu plus clair à quoi les compteurs CSS peuvent être utilisés. Pensez à tout document qui est souvent modifié, peut-être même quelque chose que l'utilisateur a généré lorsque les éléments peuvent être ré-triés ou réorganisés. Et, comme mentionné, ces types de compteurs sont les plus susceptibles d'être utiles lorsque la numérotation n'est pas vitale pour la compréhension du contenu et lorsque les éléments sont non adjacents à la source.
Si vous avez vu des compteurs CSS utilisés d'une autre manière utile, faites-le nous savoir dans les commentaires.
Questions fréquemment posées (FAQ) sur les compteurs CSS
Quels sont les différents types de compteurs CSS?
Les compteurs CSS sont disponibles en deux types: «compteur» et «compteurs». Le type «compteur» est utilisé pour les compteurs à un niveau, tels que la numérotation des en-têtes dans un document. Le type «compteurs», en revanche, est utilisé pour les compteurs à plusieurs niveaux, tels que la numérotation des sous-sections dans les sections. Les deux types sont utilisés avec la propriété «Contenu» dans CSS pour afficher la valeur du compteur.
Comment réinitialiser un compteur CSS?
Les compteurs CSS peuvent être réinitialisés à l'aide de la propriété «Counter-Resset». Cette propriété définit le compteur à un numéro donné. Par exemple, «Counter-Resset: Section» »réinitialisera le contre-zéro« section ». Vous pouvez également définir le compteur sur un autre nombre, comme «Counter-Resset: Section 5;», qui réinitialisera le compteur de «section» à cinq.
Puis-je utiliser les compteurs CSS avec des listes?
Oui, les compteurs CSS peuvent être utilisés avec des listes. Ceci est particulièrement utile lorsque vous souhaitez personnaliser la numérotation des éléments de liste. Vous pouvez utiliser les propriétés «contre-réinitialisation» et «contre-incrément» pour contrôler la propriété de numérotation et de la propriété «Contenu» pour afficher la valeur du compteur.
Comment puis-je styliser les nombres générés par les compteurs CSS?
Les nombres générés par les compteurs CSS peuvent être stylisés comme tout autre texte dans CSS. Vous pouvez utiliser des propriétés comme «couleur», «taille de police», «poids de police», etc., pour coiffer les chiffres. Les styles seront appliqués aux nombres lorsqu'ils seront générés par la propriété «Contenu».
Puis-je utiliser des compteurs CSS pour numéroter les tables?
Oui, les compteurs CSS peuvent être utilisés pour numéroter les tables . Cela peut être fait en utilisant la propriété «Counter-Resset» sur l'élément «Table», la propriété «Counter-Increment» sur l'élément «TR» et la propriété «Content» sur un `` Avant '' ou «après» pseudo -element dans l'élément 'tr'.
Comment créer un compteur à plusieurs niveaux avec des compteurs CSS?
Les compteurs à plusieurs niveaux peuvent être créés en utilisant la fonction 'compteurs' dans CSS. Cette fonction prend deux arguments: le nom du compteur et une chaîne à utiliser comme séparateur entre les niveaux. Par exemple, «Contenu: compteurs (section,«. »); 'Créera un compteur à plusieurs niveaux avec des périodes en tant que séparateurs.
Puis-je utiliser les compteurs CSS avec des pseudo-éléments?
Oui, les compteurs CSS sont souvent utilisés avec les pseudo-éléments «avant» et «après». La propriété «Contenu», qui est utilisée pour afficher la valeur du compteur, ne peut être utilisée qu'avec ces pseudo-éléments.
Comment incrémenter un compteur CSS?
Un compteur CSS peut être incrémenté à l'aide de la propriété «contre-incrément». Cette propriété augmente la valeur du compteur par une à chaque fois qu'elle est invoquée. Par exemple, «Counter-Increment: Section»; . Cela peut être fait en définissant la propriété «Counter-Resset» ou «Counter-Increment» sur un nombre négatif. Par exemple, «Counter-Resset: Section -1;» Définira le compteur de «section» à un compteur négatif.
Puis-je utiliser des compteurs CSS avec d'autres propriétés CSS?
Oui, les compteurs CSS peuvent être utilisés avec d'autres propriétés CSS. Par exemple, vous pouvez utiliser la fonction «compteur» ou «compteurs» avec la propriété «Contenu» pour afficher la valeur du compteur. Vous pouvez également utiliser les propriétés «contre-réinitialisation» et «contre-incrément» avec n'importe quel élément pour contrôler la valeur du compteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

La construction du site Web n'est que la première étape: l'importance du référencement et des backlinks La construction d'un site Web n'est que la première étape pour la convertir en un actif marketing précieux. Vous devez faire l'optimisation du référencement pour améliorer la visibilité de votre site Web dans les moteurs de recherche et attirer des clients potentiels. Les backlinks sont la clé pour améliorer le classement de votre site Web, et il montre à Google et à d'autres moteurs de recherche l'autorité et la crédibilité de votre site Web. Tous les backlinks ne sont pas bénéfiques: identifier et éviter les liens nocifs Tous les backlinks ne sont pas bénéfiques. Les liens nocifs peuvent nuire à votre classement. Excellent outil de vérification de la liaison backlink gratuite surveille la source des liens vers votre site Web et vous rappelle les liens nuisibles. De plus, vous pouvez également analyser les stratégies de liaison de vos concurrents et en apprendre. Outil de vérification gratuite de backlink: votre agent de renseignement SEO


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)