<p>在<li>元素中是否正确

Mic*_*lle 33 html

我正在标记一系列知识库,如何输入具有一系列步骤和相关屏幕截图的文章.在过去,我总是在段落标签中的列表项中包装文本,但我想知道在这种情况下这是否在语义上是正确的,或者我是否应该使用标题标签(甚至没有).我很想把它标记如下:

<ol class="kbarticle">
        <li>
            <p>Download the Windows client software <a href="">here</a>.</p>
            <a href="#screenshot1"><img src="screen1.jpg" alt="Step 1" /></a>
        </li>
        <li>
            <p>Double click the downloaded file and click "Next" to continue.</p>
            <a href="#screenshot2"><img src="screen2.jpg" alt="Step 2" /></a>
        </li>
<ol>
Run Code Online (Sandbox Code Playgroud)

另外,如果有任何HTML5元素在语义上更正确,我很想知道.

Dab*_*ler 34

是的,它是有效的.LI定义为

<!ELEMENT LI - O (%flow;)*             -- list item -->
Run Code Online (Sandbox Code Playgroud)

并被%flow定义为

<!ENTITY % flow "%block; | %inline;">
Run Code Online (Sandbox Code Playgroud)

并且%block自然包含P,因为它是块级元素.

  • 单挑:问题在于语义正确性,而不是结构正确性. (12认同)

Alo*_*hci 6

我经常说,<p>标签是多余的,<li>标签本身就足够了,但这是一个很好的电话,我不认为你所做的是真的有害.


who*_*hat 5

根据这个答案li's 可以包含块或内联元素(来自 HTML4 规范)。

  • 提示:问题在于语义正确性,而不是结构正确性。 (16认同)

Dan*_*man -1

Here\xe2\x80\x99s 是您可以使用以下方法对其进行标记的一种方法<figure>

\n\n
<ol class="kbarticle">\n  <li>\n    <figure>\n      <a href="#screenshot1"><img src="screen1.jpg" alt="Step 1"></a>\n      <figcaption>\n        Download the Windows client software <a href="">here</a>.\n      </figcaption>\n    </figure>\n  </li>\n  <li>\n    <figure>\n      <a href="#screenshot2"><img src="screen2.jpg" alt="Step 2"></a>\n      <figcaption>\n        Double click the downloaded file and click "Next" to continue.\n      </figcaption>\n    </figure>\n  </li>\n</ol>\n
Run Code Online (Sandbox Code Playgroud)\n

  • 这不是问题的答案 (20认同)
  • 我认为这很糟糕,因为根据定义 &lt;FIGURE&gt; 是一个可以从页面中删除而不影响文档流程的元素。但如果您删除该数字,您的列表将没有任何内容。 (3认同)