Seo 如何在视觉上(或语义上)包含<;ol>;内部a<;p>;?

Seo 如何在视觉上(或语义上)包含<;ol>;内部a<;p>;?,seo,html,Seo,Html,根据和的答案,在p中不能包含ol。但为什么不呢 我正在写一篇论文,其中我想使用段落形式的有序列表。(有关APA格式中有序和无序列表的实现,请参阅和。) 有时,以段落形式显示列表是有意义的,为什么该列表在语义上不能成为段落的一部分?例如,在我的论文中,我有: …一个习题集,涉及(a)在科学记数法和标准十进制形式中0到1之间的数字之间进行转换,(b)计算大于0的数字的位值,(c)比较大小小于1的正数和负数,以及(d)科学记数法中的数字加减。见附件 如果你不相信这个列表在语义上是这一段的一部分,请说明

根据和的答案,在
p
中不能包含
ol
。但为什么不呢

我正在写一篇论文,其中我想使用段落形式的有序列表。(有关APA格式中有序和无序列表的实现,请参阅和。)

有时,以段落形式显示列表是有意义的,为什么该列表在语义上不能成为段落的一部分?例如,在我的论文中,我有:

…一个习题集,涉及(a)在科学记数法和标准十进制形式中0到1之间的数字之间进行转换,(b)计算大于0的数字的位值,(c)比较大小小于1的正数和负数,以及(d)科学记数法中的数字加减。见附件

如果你不相信这个列表在语义上是这一段的一部分,请说明你为什么这么认为,因为我对你的观点感兴趣


我真的很想知道如何使用HTML标记
  • 编写此列表,但将它们显示为段落的一部分。原因是,从语义上讲,这些项目是有序列表的一部分,将它们包含在正确的元素中有利于SEO,但我很好奇如何保持以段落形式编写的列表。

    目前,如果列表语义对您如此重要,请将列表分成一个块,或者像你的例子一样把它作为一个文本字符串,继续你的生活

    如果你不相信这个列表在语义上是段落的一部分,请说明你为什么这么认为

    是的。但这不是问题所在

    […]ol不能包含在p中。但为什么不呢

    因为说明书上这么说。讨论到此结束。
    由于疏忽,有很多语义结构在HTML中根本不存在,这就是其中之一。例如,还没有真正的方法来标记脚注,这很奇怪,因为HTML最初是为了共享学术研究等内容而创建的。(有一些;不一样。)
    考虑到您的链接,我假设您已经阅读了关于块元素和诸如此类的技术原因,所以我将跳过这里

    我很想知道如何使用HTML标记
  • 好的,您可以从允许嵌套元素开始(即使在大多数情况下是这样),然后找出如何以不会让浏览器呕吐的方式将列表流到段落中(例如display:inline等)。或者为内嵌列表指定一个全新的元素。或者你可以继续做更重要的事情

    这些项目是有序列表的一部分,将它们包含在正确的元素中有利于SEO


    有时候,当人们把SEO作为做事的理由时,答案应该是“你太努力了,可能有更好的事情要做。”这就是其中之一。像这样“为SEO”做的任何一件事都不会有什么不同,因为你无法做到这一点会让它在你的脑海中浮现。你的问题的真正答案是修改HTML规范。如果这是你喜欢做的工作,那么加入,提出你的建议,可能会连续几个月为它辩护,如果你运气好的话,它会成为正式的。

    为什么
    ol
    ul
    当前不能包含在
    p
    中,是因为段落元素只能包含内联元素,而列表是块级元素

    也许列表不应该被自动视为块级元素,但目前情况并非如此

    所以你的选择是把摘录分成两段,中间有一个列表,例如

    …涉及以下内容的问题集:

  • 以科学记数法和标准十进制形式在0和1之间的数字之间转换
  • 计算大于0的数字的位置值
  • 比较大小小于1的正数和负数,以及
  • 用科学记数法加减数字
  • 见附件

    或者只是创建一个,它可能不会验证,但在语义上是正确的,并且在大多数浏览器中都能很好地呈现。

    我认为重要的东西已经解决了。我不确定CSS是否是您的特定项目的一个选项,但只要在视觉上在段落中包含一个列表,您就可以使用CSS和一些
    标记来实现这一点(它将进行验证)

    演示:


    我想我已经想出了最好的办法。根据@Lèse majesté的回答,我使用了一个内联列表:

    <div class="paragraph">
      <p>... a problem set involving:</p>
      <ol>
        <li>converting between numbers between 0 and 1 in scientific notation and standard decimal form;</li>
        <li>counting place values of numbers greater than 0;</li>
        <li>comparing positive and negative numbers with magnitude less than 1; and</li>
        <li>adding and subtracting numbers in scientific notation.</li>
      </ol>
      <p>See the attached ...</p>
    </div>
    
    这显示为:

    …一个涉及以下内容的习题集:(a)以科学记数法和标准十进制形式在0和1之间转换数字;(b) 计数大于0的数字的位置值;(c) 比较大小小于1的正数和负数;(d)用科学记数法加减数字。见附件


    那太可怕了(我是说很棒)!我甚至没有想过如何强迫它发生。虽然它只是视觉上的,没有列表的语义价值,但这可能是提问者更大的反对意见。@Su:多么蹩脚的评论(我的意思是谢谢!):)是的,它比列表“语义更少”,但仍然保留了作为段落一部分的语义(不管有什么价值,可能很少甚至没有)。我永远不会用这个,但作为一个视觉谜题,它绝对是可以解的。@Madmartigan:你倒过来了。我想要一个语义列表,用正确的标签和所有东西标记,显示为一个段落的一部分。而不是相反。我非常感谢你的意见。谢谢你的评论。肯定有帮助,因为它提供了更多的信息。它没有解决
    .list {
        counter-reset:mycounter 0;
    }
    .list-item {
        display: list-item;  
        list-style: inside none;
        margin: 1em;
    }
    .list-item:before {
        content: "(" counter(mycounter, lower-alpha) ") ";
        counter-increment: mycounter;
    }
    
    <div class="paragraph">
      <p>... a problem set involving:</p>
      <ol>
        <li>converting between numbers between 0 and 1 in scientific notation and standard decimal form;</li>
        <li>counting place values of numbers greater than 0;</li>
        <li>comparing positive and negative numbers with magnitude less than 1; and</li>
        <li>adding and subtracting numbers in scientific notation.</li>
      </ol>
      <p>See the attached ...</p>
    </div>
    
    div.paragraph p {
      display: inline;
    }
    div.paragraph ul,
    div.paragraph ol,
    div.paragraph li {
      padding: 0px;
      display: inline;
      list-style-type: lower-alpha;
      font-weight: bold; /* for demo purposes */
    }
    div.paragraph {
      counter-reset: item; /* creates a counter called 'item' initialized to 0 */
    }
    div.paragraph li:before {
      counter-increment: item; /* Add 1 to 'item' counter */
      content: '(' counter(item, lower-alpha) ') '; /* display (item) */
    }