语义化标签有哪些
什么是语义化标签
HTML 5
的革新之一:语义化标签 —— 节元素标签
在HTML 5
出来之前,我们用div
来表示页面章节,但是这些div
都没有实际意义。 (即使我们用css
样式的id
和class
形容这块内容的意义)。 这些标签只是我们提供给浏览器的指令,只是定义一个网页的某些部分。 但现在,那些之前没“意义”的标签因为因为html 5
的出现消失了,这就是我们平时说的 “语义”。
看下图没有用div
标签来布局
如上图那个页面结构没有一个 div
,都是采用html 5
语义标签(用哪些标签,关键取决于你的设计目标)。
但是也不要因为html 5
新标签的出现,而随意用之,错误的使用肯定会事与愿违。 所以有些地方还是要用div
的,就是因为div
没有任何意义的元素,他只是一个标签,仅仅是用来构建外观和结构。因此是最适合做容器的标签。
W3C
定义了这些语义标签,不可能完全符合我们有时的设计目标,就像制定出来的法律不可能流传100年都不改变,更何况它才制定没多久,不可能这些语义标签对所以设计目标的适应。 只是一定程度上的“通用”,我们的目标是让爬虫读懂重要的东西就够了。
结论:不能因为有了HTML 5
标签就弃用了div
,每个事物都有它的独有作用的。
节点元素标签因使用的地方不同,我将他们分为:节元素标签、文本元素标签、分组元素标签
下面我们分开来讲解HTML 5
中新增加的语义化标签和使用总结
语义化的意义与作用
代码结构得到了优化,即使没有css,也能呈现出完整、清晰的结构,更加方便阅读和理解
用户体验:例如
title
、alt
用于解释名词或解释图片信息、label
标签的活用有利于
SEO
:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页
便于团队开发和维护,语义化更具可读性,是下一步网页的重要动向,遵循
W3C
标准的团队都遵循这个标准,可以减少差异化爬虫依赖标签确定关键字的权重,可以帮助爬虫爬出更多有效信息
语义化都注意什么?
尽可能少用无语义的
p
、span
标签等;使用HTML5
中新增的较多强语义化标签,;不要使用样式化标签,如
font
、b
等等等,完全可以用css
实现样式(再说HTML5
中基本将此类“样式化标签”废除了!)强调文本,尽量使用
strong
标签加强强调,em
标签设置斜体表格书写规范:标题要用
caption
,表头用thead
,主体部分用tbody
包围,尾部用tfoot
包围。表头和一般单元格要区分开,表头用th
,单元格用td
;表单域要用
fieldset
标签包起来,并用legend
标签说明表单的用途;(说实话,这个倒真没怎么注意到!)每个
input
标签对应的说明文本都需要使用label
标签,并且通过id
属性和相对应的input
关联起来。
语义化标签有哪些
h1
~h6
标题标签,
h1
等级最高,h6
等级最低header
标签定义“网页”或“
section
”的页眉main
主体部分由与文档直接相关,或者扩展于文档的中心主题、应用的主要功能部分的内容组成
footer
代表“网页”或“
section
”的页脚hgroup
“网页”或“
section
”的标题组nav
标签定义“网页”或“section”的页眉
aside
被包含在
article
元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料、标签、名次解释等(特殊的section
)section
定义文档中含有标题和段落的区域(强调分段或分块)
article
代表独立、完整、可独自被外部引用的内容(博客或报刊中的文章、一遍论坛帖子、一段用户评论或独立的插件、或任何独立的内容)
details
可创建一个挂件,仅在被切换成展开状态时,它才会显示内含的信息
summary
用作一个
details
元素的一个内容的摘要,标题或图例address
代表区块容器,必须是作为联系信息出现,邮编地址、邮件地址等等,一般出现在
footer
figure
规定独立的流内容(图像、图表、照片、代码等等)
figcaption
用于元素定义
figure
的标题time
定义时间或日期
mark
代表突出显示的文字