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