现在我们很多的前端工程师写起代码来,多数都不用复杂的语义标签, 只靠 div 和 span 就能
走天下了。
这样做行不行呢?毫无疑问答案是行。那这样做好不好呢?按照正确的套路,我应该说不好,
但是在很多情况下,答案其实是好。
这是因为在现代互联网产品里,HTML 用于描述“软件界面”多过于“富文本”,而软件界面
里的东西,实际上几乎是没有语义的。比如说,我们做了一个购物车功能,我们一定要给每个
购物车里的商品套上 ul 吗?比如说,加入购物车这个按钮,我们一定要用 Button 吗?
实际上我觉得没必要,因为这个场景里面,跟文本中的列表,以及表单中的 Button,其实已
经相差很远了,所以,我支持在任何“软件界面”的场景中,直接使用 div 和 span。
不过,在很多工作场景里,语义类标签也有它们自己无可替代的优点。正确地使用语义标签可
以带来很多好处。语义类标签对开发者更为友好,使用语义类标签增强了可读性,即便是在没
有 CSS 的时候,开发者也能够清晰地看出网页的结构,也更为便于团队的开发和维护。除了
对人类友好之外,语义类标签也十分适宜机器阅读。它的文字表现力丰富,更适合搜索
引擎检索(SEO),也可以让搜索引擎爬虫更好地获取到更多有效信息,有效提升网页的搜
索量,并且语义类还可以支持读屏软件,根据文章可以自动生成目录等等。不过,不恰当地使
用语义标签,反而会造成负面作用。这里我们举一个常见的误区作为例子。我们都知道 ul 是
无序列表,ol 是有序列表,所以很多接触过语义这个概念,半懂不懂的前端工程师,特别喜欢
给所有并列关系的元素都套上 ul。实际上, ul 是长成下面的这种样子的 (以下来自 HTML 标准)。
如果您觉得本文的内容对您的学习有所帮助:
关键字:
div