HTML语义化
- 什么是HTML语义化?
根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析.
(标题(H1~H6)、列表(li)、强调(strong em))
用正确的标签做正确的事情.
html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析.
即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的.
搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO.
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解.
- 为什么要语义化?
1.为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看.
2.用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用.
3.有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重.
4.方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页.
5.便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化.
- 写HTML代码时应注意什么
1.尽可能少的使用无语义的标签div和span.
2.在语义不明显时,既可以使用div或者p时,尽量用p,因为p在默认情况下有上下间距,对兼容特殊终端有利.
3.不要使用纯样式标签,如:b、font、u等,改用css设置.
4.需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i).
5.使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围.表头和一般单元格要区分开,表头用th,单元格用td.
6.表单域要用fieldset标签包起来,并用legend标签说明表单的用途.
7.每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来.