搜索
首页web前端css教程如何使用 @counter-style 规则使用 CSS 自定义列表项?

如何使用 @counter-style 规则使用 CSS 自定义列表项?

列表是Web开发的基本部分,用于以有组织和结构化的方式呈现信息。在HTML中,有3种类型的列表:有序列表、无序列表和定义列表。然而,当我们需要根据要求设计列表时,样式化这些列表可能会具有挑战性。CSS提供了@counter-style规则,它允许我们以更灵活和创造性的方式自定义列表项标记。

在本文中,我们将学习如何使用@counter-style规则来使用CSS自定义列表项。@counter-style规则用于定义不属于预定义样式集的计数器样式,并定义如何将计数器值转换为字符串表示。

什么是@counter-style?

The @counter-style rule is used to define a counter style that can be used in conjunction with the CSS counter property. This rule is used to define a custom list item marker style. The counter property allows us to increment or decrement a counter, which is used to generate content for pseudo-elements like :before and :after.

语法

@counter-style name {
   // write all the CSS styles properties and values
}

The name parameter is used to specify the name of the counter style that we are defining. Within the curly braces, we can define a set of properties and values that control the appearance of the counter. Some of the properties that we can use include −

  • System − 它指定要使用的编号系统,例如十进制、小写字母、大写罗马数字等。

  • 符号 - 它指定了计数器每个级别使用的符号。

  • 后缀 − 它指定在计数器值之后添加的后缀。

  • Prefix − It specifies the prefix to add before the counter value.

  • Pad − 它指定在显示计数器值时要使用的最小位数。

Steps to use @counter-styles Rule in CSS

以下是在CSS中使用@counter-styles规则的步骤 -

Step 1: Create an Ordered List

第一步是创建一个有序列表,并使用我们自己的列表项标记进行自定义。在下面的示例中,我们希望使用罗马数字而不是默认的编号系统。以下是我们列表的HTML代码 −

<ol>
   <li>Learn to code in python</li>
   <li>Learn to code in java</li>
   <li>Learn to code in c++</li>
</ol>

Step 2: Define the @counter-style

@counter-style my-numerals {
   system: upper-roman;
   symbols: I II III IV V VI VII VIII IX X;
}

In the above code, we have defined a counter style named my-numerals and set the system property to upper-roman which means the counter will be set to use the uppercase Roman numerals in the list. Apart from this, we have also set the symbol's property to a string of Roman numerals from I to X.

Step 3: CSS Styles

ol {
   counter-reset: section;
}
li {
   counter-increment: section;
   list-style: none;
}
li:before {
   content: counter(section, my-numerals) ". ";
   margin-right: 10px;
}

在上述代码中,counter-reset属性被设置为ol元素的section,这意味着计数器将从0开始。在这里,我们还为每个li元素设置了counter-increment属性的section。

Example 1

的翻译为:

示例1

<html>
<head>
   <title>Example to use @counter-style to customize the List Item Markers using CSS</title>
   <style>
      /* Defining a custom counter style to have the list as upper roman numerals */
      @counter-style roman-numerals {
         system: upper-roman;
         symbols: I II III IV V VI VII VIII IX X;
      }
      /* applying the custom counter style to the ordered list */
      ol {counter-reset: section; }
      /* incrementing the counter for each list item */
      li {counter-increment: section; list-style: none;}
      /* using the counter value to display the custom list item marker */
      li:before {
         content: counter(section, roman-numerals) ". ";
         margin-right: 8px;
         color: green;
         font-size: 15px;
      }
   </style>
</head>
<body>
   <h3 id="Example-to-use-counter-style-to-customize-the-List-Item-Markers-using-CSS">Example to use @counter-style to customize the List Item Markers using CSS</h3>
   <p>In this example, we have used the @counter-style rule to customize the list item markers of an ordered list.</p>
   <ol>
      <li>Learn to code in python</li>
      <li>Learn to code in java</li>
      <li>Learn to code in c++</li>
   </ol>
</body>
</html>

In the example above, we have defined a custom counter style named my-roman using the @counter-style rule. Here, we have set the system property to upper-roman to use the uppercase Roman numerals and also set the symbol's property to a string of Roman numerals from I to X.

在此之后,我们使用counter-reset属性将自定义计数器样式应用于有序列表,并使用counter-increment属性为每个列表项递增计数器,并使用list-style属性移除了默认的列表项标记。

最后,为了使用罗马数字显示自定义列表项标记,我们使用了:before伪元素,通过content属性和counter函数(有两个参数:计数器的名称(在本例中为section)和计数器样式的名称(在本例中为roman-numerals))。

Example 2

的中文翻译为:

示例2

<html>
<head>
   <title>Example to use @counter-style to customize the List Item Markers using CSS</title>
   <style>
      /* removing the default list item markers */
      ul { list-style: none;}
      /* using images as list item markers */
      li:before {
         content: "";
         display: inline-block;
         width: 25px;
         height: 25px;
         background-image: url("yourimage.png");
         background-repeat: no-repeat;
         margin-right: 8px;
      }
   </style>
</head>
<body>
   <h3 id="Example-to-use-counter-style-to-customize-the-List-Item-Markers-using-CSS">Example to use @counter-style to customize the List Item Markers using CSS</h3>
   <p>In this example, we have used the @counter-style rule to customize the list item markers of an ordered list.</p>
   <ol>
      <li>Learn to code in python</li>
      <li>Learn to code in java</li>
      <li>Learn to code in c++</li>
   </ol>
</body>
</html>

在上面的示例中,我们使用了list-style属性来删除无序列表元素的默认列表项标记。此外,我们还使用了:before伪元素来显示列表项,借助content属性和空字符串。

我们已将display属性设置为inline-block,以确保图像正确显示,并将宽度和高度属性设置为标记图像的大小。我们使用background-image属性指定标记图像的URL,并使用background-repeat属性防止图像重复。最后,我们使用margin-right属性在图像右侧添加了一些边距。

Conclusion

在处理HTML列表时,可以使用CSS中的@counter-style规则来自定义列表项标记的外观。这个规则提供了一种简单而灵活的方式来定义有序列表的自定义样式。@counter-style规则的语法包括几个参数,如system、symbols、suffix、prefix和pad。这些参数允许对列表项标记的外观进行修改。使用@counter-style规则,可以更轻松地创建与当前项目设计需求相匹配的列表项标记。

以上是如何使用 @counter-style 规则使用 CSS 自定义列表项?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:tutorialspoint。如有侵权,请联系admin@php.cn删除
光标的下一个CSS样式光标的下一个CSS样式Apr 23, 2025 am 11:04 AM

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

世界碰撞:使用样式查询的钥匙帧碰撞检测世界碰撞:使用样式查询的钥匙帧碰撞检测Apr 23, 2025 am 10:42 AM

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

使用CSS背景过滤器进行UI效果使用CSS背景过滤器进行UI效果Apr 23, 2025 am 10:20 AM

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

微笑吗?微笑吗?Apr 23, 2025 am 09:57 AM

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

'漂亮”在情人眼中'漂亮”在情人眼中Apr 23, 2025 am 09:40 AM

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

CSS-tricks编年史XLIIICSS-tricks编年史XLIIIApr 23, 2025 am 09:35 AM

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

tailwind的@Apply功能比听起来更好tailwind的@Apply功能比听起来更好Apr 23, 2025 am 09:23 AM

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显

感觉就像我没有释放:走向理智的旅程感觉就像我没有释放:走向理智的旅程Apr 23, 2025 am 09:19 AM

像白痴一样部署的部署归结为您部署的工具与降低复杂性与添加的复杂性之间的奖励之间的不匹配。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能