【问题标题】:Using Semantic Class Names versus Using Microdata [closed]使用语义类名与使用微数据 [关闭]
【发布时间】:2014-02-24 15:29:29
【问题描述】:

我一直在尽我所能只使用语义类名称,但我最近涉足微数据和 SEO 让我想知道:两者都做有意义吗?考虑这两个代表一个事件的 HTML sn-ps:

使用 CSS 类:

<div class="event" itemscope itemtype="http://schema.org/Event">
  <h3 itemprop="name">Spinal Tap</h3>
  <div  class="description" itemprop="description">One of the loudest bands ever
  reunites for an unforgettable two-day show.</div>
  Event date:
  <time itemprop="startDate" datetime="2011-05-08T19:30">May 8, 7:30pm</time>
</div>

没有 CSS 类:

<div itemscope itemtype="http://schema.org/Event">
  <h3 itemprop="name">Spinal Tap</h3>
  <div itemprop="description">One of the loudest bands ever
  reunites for an unforgettable two-day show.</div>
  Event date:
  <time itemprop="startDate" datetime="2011-05-08T19:30">May 8, 7:30pm</time>
</div>

两者都代表相同的内容,并且都易于设置样式。除了可能应用某种额外的类(在本例中,可能是“即将到来的”或“过去的”之类的东西)之外,我可以轻松地使用属性选择器将样式应用于不应用任何类型的类的样式。

因此,考虑到这一点,当微数据已经添加了如此多的免费信息时,使用语义类还有什么优势吗?我唯一想到的是 Javascript 选择器的性能,但我不完全确定这可能会有多大的影响。

【问题讨论】:

    标签: javascript css html semantic-markup


    【解决方案1】:

    如果我是纯粹主义者,使用课程就像是在说“如果是汽车就驾驶它”。使用微数据就像说“如果它有大众汽车的标志就开车”。大概你可以拥有一些没有作为“描述”的微数据的东西,反之亦然。

    如果您只使用类来设置段的样式,而不是混合使用类和微数据,这也可能更加一致。

    在您的特定示例中,这可能无关紧要。在树上更高的节点中,这些区别会更重要。

    【讨论】:

    • 我明白你的意思,我同意在某些时候微数据不一定适用,而课程将是你唯一真正的选择。尽管如此,尽管我内心的极简主义者不禁认为,至少在低级别(如上面所说的电影列表或博客文章)您可以将样式包含在一定范围内,这是一个可行的选择使用纯微数据而不是引入冗余。
    • 归根结底,任何说“语义标记”而板着脸说“语义标记”的人都是白痴。如果您和您团队的其他成员认为这对您的项目更好,那就去做吧。
    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 2015-04-22
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多