为什么要使用<header>
代码或<footer>
或<address>
代码?它只是针对SEO,还是其他原因?
我问这个问题,因为IE8及更早版本不支持其中许多元素。
答案 0 :(得分:1)
这些都是HTML5引入的标签。它们是HTML演变的一部分。它们在IE8中不受支持,因为它们是在IE8支持结束后推出的。引入它们是为了提供网页设计中常用的更多逻辑元素。
如果您需要支持IE8,可以不使用这些标记并在<div>
标记中加入类,例如:
<div class="header"></div>
<div class="footer"></div>
<div class="address"></div>
当然伴随着CSS样式。
他们与SEO无关。
答案 1 :(得分:0)
您描述的标签,例如header
标签,就是所谓的“语法糖”。也就是说,它使阅读更容易,并知道标签的意图是什么。这对人类读者来说很有用,但它对自动化系统特别有用。
比较这些例子,所有这些都可能意味着完全相同:
<header>...</header>
<div class="header">...</div>
<div class="hdr">...</div>
请注意,header
很容易与两个div
标记区分开来。只有当您知道class
属性的含义时,您才能理解div
标签定义的内容。由于class
属性值是自由格式,因此表示没有标准定义。
SEO是自动系统的一个示例,可能需要直接读取标记并理解它具有语义含义。一个特别敏锐的搜索引擎优化引擎可能会理解上述三个标签都指的是相同的语义定义,但你会同意编写一个能够有先见之明地知道所有三个标题''标题'的引擎将会很困难。事实上,没有什么可以消除后两者与<div class="zebra">
的歧义。
让自动化系统能够读取您的代码并理解其语义意义远远超出了SEO:例如,它可以使移动版本的自动处理变得更加容易。您不再需要为特定实现手动滚动代码。您可以使用可能与标题一起使用的Javascript库,例如允许它们可排序或自动链接它们。编写这些库的任何人都可以更轻松地完成这些工作。
您还会问为什么要使用仍然广泛使用的旧浏览器不支持的内容。这是一个人口统计问题:您的应用定位是什么?如果您需要使用旧浏览器的6%的人使用您的应用程序,那么您应该绝对使用向后兼容的技术。另一方面,如果您希望为可能使用现代浏览器的一组用户提供最佳可能性,那么您应该使用新标签。 (请注意,当您将自己的解决方案推向事物时,用户体验不良或开发时间过长可能会花费您应用程序用户群的6%以上...)