附加符号

基线 2023

最新可用

2023 年 9 月起,此功能在最新的设备和浏览器版本中有效。此功能可能在较旧的设备或浏览器中无法正常工作。

**additive-symbols** 是 @counter-style at-rule 的描述符,用于在 @counter-style system 描述符值设置为 additive 时指定计数器符号。加法系统用于构建 符号值记数法 系统,如罗马数字。

语法

css
/* Single tuple */
additive-symbols: 3 "*";

/* Comma-separated list of tuples */
additive-symbols:
  3 "0",
  2 "\2E\20",
  1 url(symbol.png);

/* Binary counter */
additive-symbols:
  2 "1",
  1 "0";

/* Etruscan (a civilization in ancient Italy) counter  */
additive-symbols:
  100 "𐌟",
  50 "𐌣",
  10 "𐌢",
  5 "𐌡",
  1 "𐌠";

描述符接受以逗号分隔的加法元组列表,每个元组包含以下两个值,用空格分隔

<integer>

指定与元组的关联符号值相关的整数权重的非负整数。

<symbol>

指定用于由元组的关联 <integer> 权重值定义的权重值的计数器符号。

注意:加法元组必须按降序权重指定;否则,描述符声明无效并被忽略。

描述

additive-symbols 描述符定义一个以逗号分隔的加法元组列表。每个加法元组包含一个以空格分隔的非负整数和计数器符号。要有效,该列表必须按整数降序排列。整数和符号连接在一起形成计数器符号。

system 描述符值是 cyclicnumericalphabeticsymbolicfixed 时,请使用 symbols() 描述符,而不是 additive-symbols

正式定义

相关 at-rule@counter-style
初始值n/a(必需)
计算值如指定

正式语法

additive-symbols = 
[ <integer [0,∞]> && <symbol> ]#

<symbol> =
<string> |
<image> |
<custom-ident>

<image> =
<url> |
<gradient>

<url> =
<url()> |
<src()>

<url()> =
url( <string> <url-modifier>* ) |
<url-token>

<src()> =
src( <string> <url-modifier>* )

示例

指定加法符号

HTML

在此示例中,system: additive 以及 additive-symbols 描述符值指定了如何将数字表示为罗马数字。列表中每个 <li> 元素的值将根据 @counter-style 中定义的规则转换为罗马数字。

html
<ul>
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
  <li>Four</li>
  <li>Five</li>
  <li value="109">109</li>
  <li>110</li>
</ul>

CSS

css
@counter-style uppercase-roman {
  system: additive;
  additive-symbols:
    1000 M,
    900 CM,
    500 D,
    400 CD,
    100 C,
    90 XC,
    50 L,
    40 XL,
    10 X,
    9 IX,
    5 V,
    4 IV,
    1 I;
}

ul {
  list-style: uppercase-roman;
  padding-left: 5em;
}

结果

对于值为 109 的列表项,数字 C 代表 100,而 IX 代表 9。这将为列表项 109 生成 CIX 计数器。下一项列表将自动获得值为 110。罗马数字 CX 来自 C 代表 100X 代表 10

规范

规范
CSS 计数器样式级别 3
# counter-style-symbols

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅