我记得刚做网面的时时候,最常用的页面编写软件是DW,如果要划分区块,我们常使用的是table标签。由于当时的技术不精,我总是能把一个页面用表格布局的乱七八糟。后来div用的比较好了,就全用div了。但是发现我写一个网页,里面会嵌套很多层div,有时候再嵌套div进去的时候都不知道该写个什么类名来区分,甚至有时候写了类名也不知道这个到底来干什么,所以会一直加注释。再后来,接触到语义化标签,所谓语义化,也和div一样是来划分区域的。只不过,div不具备任何语义,而语义化标签,也称结构化元素,有自己的语义,使我们的代码更加优雅、结构更加清晰、更容易维护、浏览器更加容易解析阅读。
我们为什么要使用标签语义化呢?
- 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;
- 用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用;
- 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
- 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
常见的语义化标签如下:
- header:用于表示页面或某个区域的头部。一个页面中,可以出现多次header,用于对页面内部一组介绍性或导航性进行标记;
- nav: 用于表示导航栏;
- aside: 用于表示跟周围主题相关的附加信息(侧边栏),如:广告、猜你喜欢等等;
- article: 用于表示文章或其他可独立页面存在的内容,也是可以嵌套的;
- section: 用于表示一个整体的部分主题,多个section组成了article;
- footer: 页脚。只用当父级是body时,才是整个页面的页脚。
写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关联起来。
借鉴地址:https://www.cnblogs.com/freeyiyi1993/p/3615179.html