首页 > web前端 > css教程 > 正文

如何在 HTML 中对嵌套有序列表进行连续计数?

Barbara Streisand
发布: 2024-11-17 14:18:02
原创
512 人浏览过

How to Number Nested Ordered Lists with Continued Counting in HTML?

HTML 中嵌套有序列表的编号

您拥有一个嵌套有序列表,希望更改第二层嵌套元素的编号方式,使其从上一层继承编号并继续计数。目前,第二层元素从 1 重新开始计数,但您希望它们以小数形式编号,例如 2.1、2.2 和 2.3。

这个问题可以通过以下方法解决:

CSS 解决方案(所有现代浏览器

html > body ol {
  list-style-type: none;
  counter-reset: level1;
}

ol li:before {
  content: counter(level1) ". ";
  counter-increment: level1;
}

ol li ol {
  list-style-type: none;
  counter-reset: level2;
}

ol li ol li:before {
  content: counter(level1) "." counter(level2) " ";
  counter-increment: level2;
}
登录后复制

此 CSS 采用计数器机制,为每个嵌套级别维护编号。它在所有现代浏览器中都能正常工作。

兼容 IE6/7 的 jQuery 解决方案

对于 Internet Explorer 6/7,Pure CSS 解决方案不起作用。因此,需要一个回退机制:

<script>
  $(document).ready(function() {
    if ($('ol:first').css('list-style-type') != 'none') { // For IE6/7 only.
      $('ol ol').each(function(i, ol) {
        ol = $(ol);
        var level1 = ol.closest('li').index() + 1;
        ol.children('li').each(function(i, li) {
          li = $(li);
          var level2 = level1 + '.' + (li.index() + 1);
          li.prepend('<span>' + level2 + '</span>');
        });
      });
    }
  });
</script>
登录后复制

此 jQuery 代码将为 Internet Explorer 6/7 浏览器添加编号。它在元素之前插入一个 span,其中包含嵌套编号。

以上是如何在 HTML 中对嵌套有序列表进行连续计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板