【问题标题】:CSS Counter is off when "leaving child scope"“离开子范围”时 CSS 计数器关闭
【发布时间】:2016-10-07 09:54:58
【问题描述】:

不知道描述问题的正确方法,所以这里是JSFiddle

这里的问题是 Para 1.3Para 1.4 的编号已关闭:para 计数器在“离开”嵌套的 <section> 标记的范围时不会“重置”。

body { counter-reset: chapter 0; }

section { counter-reset: para 0; }

h2:before {
  counter-increment: chapter;
  content: counter(chapter) ". ";
}

section p:before {
  counter-increment: para;
  content: counter(chapter) "." counters(para, ".") ". ";
}
<h2>Chapter 1</h2>

<section>
  <p>Para 1.1</p>
  <p>Para 1.2</p>
  
  <section>
    <p>Para 1.2.1</p>
    <p>Para 1.2.2</p>
    
    <section>
      <p>Para 1.2.2.1</p>
      <p>Para 1.2.2.2</p>  
    </section>
  </section>
  
  <p>Para 1.3</p>
  <p>Para 1.4</p>
</section>

【问题讨论】:

    标签: css css-counter


    【解决方案1】:

    我认为这与 HTML 结构有关。 &lt;section&gt;&lt;p&gt; 不能一起工作,因为您必须能够在 p 中包含一个部分。这是不可能的。

    改为使用列表。因为您可以在 ul 中包含 li ,反之亦然。如果有帮助,请告诉我。

    body { counter-reset: chapter 0; }
    
    ul { counter-reset: para ;list-style:none }
    
    h2:before {
      counter-increment: chapter;
      content: counter(chapter) ". ";
    }
    
    ul li:before {
      counter-increment: para;
    
      content: counter(chapter) "." counters(para, ".") ". ";
    }
    <h2>Chapter 1</h2>
    
    <ul>
      <li>Para 1.1</li>
      <li>Para 1.2
       
      <ul>
        <li>Para 1.2.1</li>
        <li>Para 1.2.2
    
        <ul>
          <li>Para 1.2.2.1</li>
          <li>Para 1.2.2.2</li>  
        </ul>
        </li>
      </ul>
    
    </li>
    <li>Para 1.3</li>
    <li>Para 1.4</li>
    
     
    </ul>

    【讨论】:

    • 你在说什么?部分可以包含段落和其他部分,而这些部分又可以包含自己的段落和部分,令人作呕。一个段落不能包含一个部分的原因是它不能那样工作。你为什么建议将一章散文标记为一个巨大的无序列表?
    • 也许我不够清楚。 sectionp 结构不起作用,因为您无法在 p 和部分之间建立关系(父子关系)。这就是我使用列表的原因(您可以使用 OL 而不是 UL ofc)。如果你看看我的结构,在一些 lis 里面你可以找到 uls 。这对于 p 和 section 是不可能的。我为 OPs HTML 结构提供了一个替代解决方案。一个实现 OP 想要的替代方案。希望我现在说清楚了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多