counter-increment
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Thuộc tính CSS counter-increment có thể được dùng để tăng hoặc giảm giá trị của các bộ đếm CSS được đặt tên theo các giá trị chỉ định, hoặc để ngăn tất cả bộ đếm hoặc một bộ đếm cụ thể không thay đổi giá trị.
Nếu một bộ đếm được đặt tên trong danh sách các bộ đếm và giá trị được phân tách bởi khoảng trắng không tồn tại, nó sẽ được tạo mới. Nếu không có giá trị nào được cung cấp cho một bộ đếm trong danh sách, bộ đếm đó sẽ được tăng thêm 1.
Giá trị của bộ đếm có thể được đặt lại về bất kỳ số nguyên nào bằng thuộc tính CSS counter-reset.
Try it
counter-increment: example-counter;
counter-increment: example-counter 0;
counter-increment: example-counter 5;
counter-increment: example-counter -5;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">Counter value:</div>
</section>
#default-example {
text-align: left;
counter-reset: example-counter;
}
#example-element::after {
content: counter(example-counter);
}
Cú pháp
/* Increases "my-counter" by 1 */
counter-increment: my-counter;
/* Decreases "my-counter" by 1 */
counter-increment: my-counter -1;
/* Increases "counter1" by 1 and decreases "counter2" by 4 */
counter-increment: counter1 counter2 -4;
/* Increases "page" by 1, "section" by 2, while "chapter" doesn't change */
counter-increment: chapter 0 section 2 page;
/* Do not increment/decrement anything: used to override less specific rules */
counter-increment: none;
/* Global values */
counter-increment: inherit;
counter-increment: initial;
counter-increment: revert;
counter-increment: revert-layer;
counter-increment: unset;
Giá trị
Thuộc tính counter-increment nhận làm giá trị một danh sách tên bộ đếm phân tách bởi khoảng trắng được chỉ định dưới dạng <custom-ident> với giá trị <integer> tùy chọn, hoặc từ khóa none. Bạn có thể chỉ định bao nhiêu bộ đếm cần tăng tùy ý, với mỗi tên hoặc cặp tên-số được phân tách bởi khoảng trắng.
<custom-ident>-
Chỉ định tên của bộ đếm cần tăng hoặc giảm.
<integer>-
Chỉ định giá trị cần thêm vào bộ đếm. Nếu số nguyên đứng trước dấu
-, giá trị sẽ bị trừ khỏi bộ đếm. Mặc định là1nếu không có giá trị nào được chỉ định. none-
Cho biết không có bộ đếm nào được tăng hoặc giảm. Giá trị này cũng có thể được dùng để hủy tất cả bộ đếm khỏi việc tăng hoặc giảm trong các quy tắc cụ thể hơn. Đây là giá trị mặc định của thuộc tính.
Note:
Sử dụng giá trị none ngăn tất cả bộ đếm tăng hoặc giảm cho các phần tử được chọn nơi quy tắc này áp dụng. Để chỉ ngăn các bộ đếm cụ thể tăng hoặc giảm, đặt giá trị integer là 0 trên (các) bộ đếm liên quan.
Định nghĩa hình thức
| Initial value | none |
|---|---|
| Applies to | all elements |
| Inherited | no |
| Computed value | as specified |
| Animation type | by computed value type |
Cú pháp hình thức
counter-increment =
[ <counter-name> <integer>? ]+ |
none
<counter-name> =
<custom-ident>
<integer> =
<number-token>
Ví dụ
>Giảm giá trị bộ đếm
Trong ví dụ này, chúng ta hiển thị một chuỗi số đếm ngược. Để làm điều này, chúng ta dùng một bộ đếm để hiển thị các số bắt đầu từ 100 và giảm đi 7 mỗi lần.
HTML
<div>
<i></i><i></i><i></i><i></i><i></i><i></i><i></i> <i></i><i></i><i></i><i></i
><i></i><i></i><i></i> <i></i><i></i><i></i><i></i><i></i><i></i><i></i>
<i></i><i></i><i></i><i></i><i></i><i></i><i></i>
</div>
CSS
Chúng ta đặt giá trị ban đầu của bộ đếm tên sevens là 100 bằng cách dùng counter-reset. Sau đó, với mỗi <i>, chúng ta giảm bộ đếm đi 7.
Để đặt lần đếm đầu tiên là 100, chúng ta nhắm vào phần tử <i> đầu tiên bằng cách dùng lớp giả :first-of-type và đặt counter-increment: none;. Ngoài ra, thuộc tính content được dùng trong phần tử giả ::before để hiển thị giá trị của bộ đếm bằng hàm counter().
div {
counter-reset: sevens 100;
}
i {
counter-increment: sevens -7;
}
i:first-of-type {
counter-increment: none;
}
i::before {
content: counter(sevens);
}
Kết quả
Nếu chúng ta không dùng counter-reset (hoặc counter-set) để tạo bộ đếm và đặt giá trị thành 100, bộ đếm sevens vẫn sẽ được tạo nhưng với giá trị khởi tạo là 0.
Thông số kỹ thuật
| Specification |
|---|
| CSS Lists and Counters Module Level 3> # increment-set> |
Khả năng tương thích trình duyệt
Xem thêm
- Các thuộc tính bộ đếm:
counter-set,counter-reset - At-rule bộ đếm:
@counter-style - Hàm bộ đếm:
counter(),counters() - Hướng dẫn Sử dụng bộ đếm CSS
- Mô-đun CSS lists and counters
- Mô-đun CSS counter styles