账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    html 纲要生成规则的一点疑问
    22
    0

    最近在看《html5 missing manual》。该书并没有把HTML纲要生成算法讲清楚,只是举了一些例子,无奈只能查网页。
    这篇帖子中讲了HTML4和5的纲要算法。
    HTML4:

    每个标题都会生成一个隐性节点(implicit section),紧随其后的相对层级低的标题会成为它的子节点,层级相同或者更高的标题则会关闭这个节点并生成新的节点。可以测试一下下面的代码:

    HTML5:

    HTML5的新标签section、article、aside、nav会生成显性节点(explicit sections),每个显性节点内部又有它自己的标题结构(当然也符合HTML4、HTML5大纲算法)。

    帖子中的例子我都能看懂,再回到《HTML5 missing manual》书中的例子,就出现问题了。

    <h1>Level-1 Heading</h1>
    <h2>Level-2 Heading</h2>
    <h2>Level-2 Heading</h2>
    <h3>Level-3 Heading</h3>
    <h2>Level-2 Heading</h2>

    按照我对HTML4的纲要生成规则的理解,我生成的纲要是这样:

    1.Level-1 Heading
      1.Level-2 Heading
      2.Levle-2 Heading
        1.Level-3 Heading
        2.Level-2 Heading

    而书上、包括HTML OUTLINER在线工具,生成的是这样:

    1.Level-1 Heading
      1.Level-2 Heading
      2.Level-2 Heading
        1.Level-3 Heading
      3.Level-2 Heading

    层级相同或者更高的标题则会关闭这个节点并生成新的节点。
    这个新节点又会遵循<h1>~<h6>的层级关系来生成吗?

    如果是这样,那为什么下面这个例子,在遇到高层级的标题元素时,又生成同级纲要了呢?

    <h3>《搜索》</h3>
    <p>搜索讲的是..</p>
    <h2>国外电影</h2>

    生成的纲要:

    1.《搜索》
    2.国外电影

    按照上面的规则,应该生成

      1.《搜索》
    1.国外电影

    才对吧。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • AI智能解答 超级管理员 2023-04-06 12:121楼

      HTML 纲要生成规则的一点疑问:

      HTML 纲要生成规则主要是根据 HTML 标签的层级关系来生成的,比如 h1 标签会被放在第一级,h2 标签会被放在第二级,以此类推。

    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部