zoukankan      html  css  js  c++  java
  • css 计数实现目录索引

    代码1

    虽然生成了目录编号,但是可以看到目录效果 1.5 显示并不正确(待修正)

    源码如下

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #catalog ul,
            .menu+ul {
                counter-reset: section;
                list-style-type: none;
            }
    
            #catalog .menu,
            #catalog .menu-item {
                counter-increment: section;
            }
    
            #catalog .menu:before,
            #catalog .menu-item:before {
                content: counters(section, ".") ". ";
            }
    
            li {
                margin-top: 12px;
                margin-bottom: 12px;
            }
        </style>
    </head>
    
    <body>
    
        <div id="catalog">
            <ul>
                <li class="menu">css计数器</li>
                <ul>
                    <li class="menu-item">counter-reset - 创建或者重置计数器</li>
                    <li class="menu-item">counter-increment - 递增变量</li>
                    <li class="menu-item">content - 插入生成的内容</li>
                    <li class="menu-item">counter() 或 counters() 函数 - 将计数器的值添加到元素</li>
                </ul>
                <li class="menu">使用</li>
                <ul>
                    <li class="menu-item">初始化计数器</li>
                    <li class="menu-item">语法</li>
                    <ul>
                        <li class="menu-item">counter-reset:none | [&lt;identifier&gt;&lt;integer&gt;]+</li>
                    </ul>
                    </li>
                    <li class="menu-item">取值</li>
                    <ul>
                        <li class="menu-item">none:阻止计数器复位</li>
                        <li class="menu-item">&lt;identifier&gt;:identifier定义一个或多个将被复位的selector,id,或者class</li>
                        <li class="menu-item">&lt;integer&gt;: 定义被复位的数值,可以为负值,默认值是0</li>
                    </ul>
                </ul>
            </ul>
        </div>
    </body>
    
    </html>
    View Code

    代码2

    修改后的效果

     

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style type="text/css">
            #catalog ul {
                counter-reset: section;
                list-style-type: none;
            }
    
            #catalog ul li {
                counter-increment: section;
            }
    
            #catalog ul li:before {
                content: counters(section, ".") ". ";
            }
    
            li {
                margin-top: 12px;
                margin-bottom: 12px;
            }
        </style>
    </head>
    
    <body>
        <div id="catalog">
            <ul>
                <li>css计数器
                    <ul>
                        <li>counter-reset - 创建或者重置计数器</li>
                        <li>counter-increment - 递增变量</li>
                        <li>content - 插入生成的内容</li>
                        <li>counter() 或 counters() 函数 - 将计数器的值添加到元素</li>
                    </ul>
                </li>
                <li>使用
                    <ul>
                        <li>初始化计数器
                            <ul>
                                <li>
                                    语法
                                    <ul>
                                        <li>counter-reset:none | [&lt;identifier&gt;&lt;integer&gt;]+</li>
                                    </ul>
                                </li>
                                <li>
                                    取值
                                    <ul>
                                        <li>none:阻止计数器复位</li>
                                        <li>&lt;identifier&gt;:identifier定义一个或多个将被复位的selector,id,或者class
                                        </li>
                                        <li>&lt;integer&gt;: 定义被复位的数值,可以为负值,默认值是0
                                        </li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                        <li>计数器自增
                            <ul>
                                <li>
                                    语法
                                    <ul>
                                        <li>counter-increment:none | [&lt;identifier&gt;&lt;integer&gt;]+</li>
                                    </ul>
                                </li>
                                <li>
                                    取值
                                    <ul>
                                        <li>none:阻止计数器增加</li>
                                        <li>&lt;identifier&gt;:identifier定义一个或多个将被复位的selector,id,或者class
                                        </li>
                                        <li>&lt;integer&gt;: 定义计算器每次增加的数值,可以为负值,默认值是1
                                        </li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                        <li>显示计数器
                            <ul>
                                <li>
                                    语法
                                    <ul>
                                        <li>content:normal | counter(name) | counter(name,list-style-type) |
                                            counters(name,string) | counters(name,string,list-style-type) </li>
                                    </ul>
                                </li>
                                <li>
                                    取值
                                    <ul>
                                        <li>normal:默认值。表现与none值相同</li>
                                        <li>none: 不生成任何值。</li>
                                        <li>counter(name): 使用已命名的计数器</li>
                                        <li>counter(name,list-style-type): 使用已命名的计数器并遵从指定的list-style-type属性</li>
                                        <li>counters(name,string): 使用所有已命名的计数器</li>
                                        <li>counters(name,string,list-style-type): 使用所有已命名的计数器并遵从指定的list-style-type属性</li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
    </body>
    
    </html>
    View Code

    分析

    可以看到,两种代码的html目录结构对于菜单项的展示上有点不一样,从而css计数器效果不同。那么有什么办法可以让两种代码都可以正常显示目录索引效果呢(待定)

    参考:

    css3中文手册 

    @萍2樱释ღ( ´・ᴗ・` )

    打不死的小强
  • 相关阅读:
    BZOJ2874 训练士兵 主席树
    单纯形 BZOJ3112: [Zjoi2013]防守战线
    珠宝 jewelry 省选模拟
    FWT [BZOJ 4589:Hard Nim]
    后缀自动机SAM BZOJ 2806
    就是要第一个出场的albus 【BZOJ】 线性基
    冲刺第十二十三天
    冲刺第十 十一天
    阅读8.9.10
    冲刺第八九天
  • 原文地址:https://www.cnblogs.com/mggahui/p/14100503.html
Copyright © 2011-2022 走看看