Vlastnost counter-set
CSS, která odpovídá svému názvu, nastavuje počáteční hodnotu čítače CSS. Víte, jak seřazené seznamy začínají na 1 a odtud se zvyšují? counter-set
Vlastnost nám umožňuje soubor, který začíná hodnotu na něco jiného, řekněme, -1. Nebo 2. Nebo 200! Kromě toho, že se použije na čítače CSS namísto seřazených seznamů.
Řekněme, že máme vlastní počítadlo pro seznam kapitol knih, kde je před název kapitoly přidáno číslo kapitoly.
Začali bychom definováním pultu s counter-reset
vlastností. Zavoláme to chapter
a definujeme to na třídě nadřazeného kontejneru pro naše kapitoly nazvané kreativně .chapters
.
.chapters ( counter-reset: chapter; )
Dále bychom přiřadili chapter
počítadlo prvku pomocí counter-increment
vlastnosti. Jelikož se jedná o kapitoly knih, použijeme je
prvků za předpokladu, že by název knihy byl
. Všimněte si, že to vlastně přiřazujeme :before
pseudoelementu, protože nám to umožňuje přepočítat náš čítač na skutečný
živel.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Super, poslední věc, kterou bychom potřebovali, je říct pultu, co by mělo zobrazit. To se děje na content
vlastnosti prostřednictvím counter()
funkce. Hodíme také trochu barvy na pult, protože to design vyžaduje.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Hej, vypadáme dobře!
Ale počkej! Opravdu nezkopávám skutečnost, že začínáme kapitolou 1. Chci říct, že „Forward“ ve skutečnosti není kapitola. Pokud vůbec, je to jako v kapitole 0.
To je místo, kde counter-set
přichází! Pojďme nastavit věci tak, aby začínaly na nule:
h2:first-of-type::before ( counter-set: chapter; )
Tam jedeme! To je lepší. Pouhým nastavením hodnoty vlastnosti na název počitadla jsme nastavili seznam kapitol tak, aby začínal v kapitole 0. Stejně snadno jsme mohli nastavit, aby to začalo u něčeho jiného, například u kapitoly 100.
A pokud prohlížeč nepodporuje counter-set
? Fakt nic. To bude prostě ignorovat a seznam bude začínat na svém výchozím nastavení 1
.
Syntax
( ? )+ | none
Jedná se v podstatě o fantazijní způsob, jak říci, že vlastnost má název vlastního počítadla ( ) a počáteční hodnoty (
). Nebo nastavit
none
a číslování bude začínat na výchozím bodu startu 1
.
- Počáteční hodnota:
none
- Platí pro: všechny prvky (včetně nevizuálních)
- Zděděno: ne
- Typ animace: podle typu vypočítané hodnoty
Hodnoty
/* Set "awesome-counter" to 0 */ counter-set: awesome-counter; /* Set "awesome-counter" to -10 */ counter-set: awesome-counter -10; /* Set "awesome1" to 0, and "awesome2" to 2 */ counter-set: awesome1 awesome2 2; /* Wipe out any other settings that may have been declared elsewhere */ counter-set: none; /* Global values */ counter-set: inherit; counter-set: initial; counter-set: unset;
Všimněte si, že counter-set
vytvoří nový čítač, pokud název čítače deklarovaný na něm již nebyl definován někde jinde.
Podpora prohlížeče
TJ | Okraj | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
Ne | Ne | 68+ | Ne | Ne | Ne |
Android Chrome | Android Firefox | Prohlížeč Android | iOS Safari | Opera Mini |
---|---|---|---|---|
Ne | 79+ | Ne | Ne | Ne |
Další čtení
- Specifikace modulu CSS seznamů úrovně 3 (pracovní koncept)
- Zobrazení aktuálního kroku s počitadly CSS
- Počítání s čítači CSS a mřížkou
- Jak obrátit vlastní počítadla CSS