此时我们可以反思一下,我们日常写HTML的时候,是不是差不多一直在使用 div 和 span 这两个玩意?大部分情况下,我们都不使用复杂的语义标签,而靠着这两个容器就可以吃遍天了,这样做是否可行,那当然可行了,毕竟你们的项目不是都做出来了么。这样做好不好,如果我说好这篇文章我就没法更下去了,可是实际情况下还真的是挺好的。
但是仍然不可否认,语义类标签有很多div和span无法替代的优点,试想一下,在没有css的前提下,语义化标签是否也能清晰明了地看出网页的结构,方便大家开发维护,而且不仅是对人阅读友好,对机器阅读也一样,让搜索引擎能更加方便获取到信息,就是我们日常提及的SEO,此外读屏软件生成目录的逻辑,也是根据语义化标签来进行自动生成的。
那为什么不强制性地要求大家都要规范使用语义化标签,其实还是因为不正确的使用会造成很多不必要的麻烦。比如:我们都知道ul是无序列表,ol是有序列表,所以很多知道了前端语义化但是没学的很精细的工程师就特别喜欢给这些存在同级并列关系的元素,都套上一个 ul
ul 是个啥样子?比如:
I have lived in the following countries:
· Switzerland
· Norway
· United Kingdom
· United States
ul 多数出现行文中间,它的上文多数在提示,要列举某些项,但是如果所有并列关系都用ul,会造成大量冗余标签,给机器阅读造成混淆,增加嵌套,给css编写加重负担。所以,用对比不用好,不用比用错好,但是我们大家还是应该争取用对它