发表于: 2020-08-24 22:22:27
1 1155
如何理解HTML结构的语义化?
HTML语义化
HTML的语义化总结为: 用最恰当的标签来标记内容。
该如何理解呢?比如需要加入一个标题,这个标题的字体比正文的要大写,还要加粗。能够实现这种效果的方法有很多,比如用CSS样式进行渲染。这样的效果看起来像是一个标题,但是他对浏览器来说,只是一个被渲染过的文本,无法知道他是一个标题。若要让浏览器知道他是一个标题,应该用hx标签来进行标记。从这个例子可以总结出: 语义化的HTML文档,不关心内容的显示效果。 说的通俗一点: 标题脱了CSS这层外衣,它还是一个标题。
HTML语义化的原因
- 即使在没有CSS样式的条件下,也能很好地呈现出内容结构、代码结构;
- 语义化HTML会使HTML结构变的清晰,有利于维护代码和添加样式;
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
- 提升搜索引擎优化(SEO)的效果。和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
- 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
- 通常语义化HTML会使代码变的更少,使页面加载更快。
在写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关联起来。
- 参考
今天完成的事情:
今天由于进行入学,弄了快一天的活动,所以今天比计划的事情要少一点了;
只弄了任务十二的代码sass和修改了一下十三的代码;
明天计划的事情:
完成任务十四十五
遇到的问题:
css的规范还不是很规范,不够精简,改进的地方还有好多;
收获:
发现sass混合器的另外一种使用方法,@mixin $highlight-color($color):{color:$color};有大量重复的样式可以修改他们的属性
评论