代码验证失败 - li中的pre和p标签

时间:2015-04-28 12:28:33

标签: html tags

我有一些代码,我使用有序和无序列表。在列表项中,我使用了<p><pre>标记来突出某些文字。当我通过W3C验证器运行代码时,我收到以下错误消息:

Element p not allowed as child of element ul in this context. (Suppressing errors from this subtree.)

Element pre not allowed as child of element ul in this context. (Suppressing errors from this subtree.)

这是代码的一小部分(&#34;虚拟文字&#34;在大多数情况下,只是为了让您了解我正在做的事情):

<ul>
    <li>e complectitur sit ut, ex his tale assueverit, euismod nostrum delicatissimi usu in.</li>

    <pre>sometext></pre>

    <li>Nec ex habeo lobortis. Ex has suscipit adversarium, mentitum dissentiet</li>

    <pre>some more text</pre>
</ul>

所以,有两个问题:

  1. 如果这在网页上正确呈现,为什么验证者会将其报告为问题?

  2. 我是否可以使用一些替代方法使文本在有序/无序列表中脱颖而出?

2 个答案:

答案 0 :(得分:0)

  1. 验证器查看W3C定义的所有规则。这并不意味着它不会起作用。但它可能无法在所有浏览器中或将来使用。
  2. 这真的取决于你需要什么样的时间。您可以使用<br /><span>。您可能需要使用div更改<ul><li>

答案 1 :(得分:0)

您的HTML代码无效。周期。

即使代码无效,浏览器也会尝试渲染代码。结果很大程度上取决于浏览器和版本。

根据标记HTML中的<ul>,只有<li>可以嵌套。您可以将<p><pre>嵌套在代码<li>中,例如

<ul>
    <li>e complectitur sit ut, ex his tale assueverit, euismod nostrum delicatissimi usu in.</li>
    <li><pre>sometext></pre></li>
    <li>Nec ex habeo lobortis. Ex has suscipit adversarium, mentitum dissentiet</li>
    <li><pre>some more text</pre></li>
</ul>