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