【发布时间】:2011-06-07 20:54:21
【问题描述】:
我在网上阅读了语义 HTML...
语义 HTML 意味着使用 HTML 标记来表达它们的隐含意义,而不是仅仅使用(无意义的)div 和 span 标记来表达绝对的一切。
如果您使用
<h1>代替<div class="header">和<h2>代替 等等,Google 和其他搜索引擎会将您的标题解释为您页面中的重要标题。这样,当人们搜索您的标题和子标题中的单词时,您的页面将被认为更相关(并且排名更高)。此外,它更短更简洁。
所以,下面是语义,
<h1>My Website Name</h1>
<h2>My Website Tagline </h2>
下面这个呢?
<div id="header">
<h1><span class="hide">My Website Name</span></h1>
<h2><span class="hide">My Website Tagline</span></h2>
</div>
我倾向于像上面那样将 h 标签与 div 和 span 标签结合起来——这种做法是否被认为是缺乏语义?
我之所以使用 hide 类是因为我想显示站点徽标而不是文本。所以使用 CSS 将 h1 的背景设置为图像,然后隐藏文本。这是不正确的做法吗?
那么,如果我不使用div,我可以用什么在h1和h2周围做一个盒子呢?
据我所知,html 5 还没有完全准备好,我们还不能使用<header>,不是吗??
谢谢。
【问题讨论】:
-
HTML5 的 header 元素已经准备好用于生产,IMO。不过,请为 IE8 使用 HTML5shiv。
-
我相信@David Storey 的回答更准确。应该使用
标签而不是 div
标签: xhtml html semantic-markup