HTML语义化的案例分析(实践记录) | 青训营

98 阅读3分钟

🎈这篇文章是关于使用HTML语义化标签的对比分析,如果有错误的地方,欢迎大家在评论区里批评指正!

一、HTML语义化是什么

HTML语义化是指使用恰当的HTML标签对网页的内容进行结构化,使得浏览器和搜索引擎能够更好地理解其中的信息内容。它有助于搜索引擎理解网页内容,同时也增加了网页对视觉障碍者的友好性。

二、语义化标签

  1. <header>:定义页面或页面节的头部,通常包含标题、导航栏等;
  2. <footer>:定义页面或页面节的尾部,包含版权信息、联系方式等;
  3. <nav>:定义页面的导航链接部分。
  4. <section>:定义文档中的节,比如章节、页眉、页脚或其他部分。
  5. <article>:定义文档、页面或应用程序中独立的内容。比如论坛的帖子,博客的文章,新闻等。
  6. <aside>:定义页面内容之外的内容,比如侧栏、广告等。
  7. <main>:定义页面的主要内容,包含文章、段落等主要内容。

三、对比语义化标签与非语义化标签

这里我以知乎和CSDN为例,进行对比分析

知乎

知乎首页在HTML中广泛应用了语义化标签。例如,主导航部分使用了<nav>标签,问答内容部分使用<article>标签,每一小块问题及答案则被<section>标签包裹。 其首页部分结构如下:

<nav>...</nav>
<article>
    <section>...</section>
    <section>...</section>
</article>

CSDN

image.png image.png

相比之下,CSDN首页的HTML结构就有点非语义化。例如,对于类似的导航区域,CSDN使用<div>标签来定义,使用id=toolbarBox,对于内容区域,也是采用了<div>标签,使用id=main来定义。

可见,知乎更趋向于使用能够表示某种特定含义的语义化标签等,这样既提升了内容的组织方式,也有助于搜索引擎理解页面内容。CSDN则倾向于使用非语义化的标签,虽然它使用了ID或Class来增加一些语义,但这对搜索引擎和浏览器来说,语义性显然不如专门的HTML5语义化标签。

四、分析与思考

举例来说,如果我们要展示一篇新闻文章,可以使用<article>标签将文章内容包裹起来,并使用<header>标签定义文章的标题,<time>标签定义发布时间等。这样可以更加准确地表达网页的结构和内容,提升用户体验和搜索引擎的理解能力。

HTML语义化是利用恰当的HTML标签对网页内容进行结构化的方法,通过使用这些语义化标签,我们能够更清楚地描述网页的结构,使得代码更具可读性和可维护性。同时,这些标签也对搜索引擎友好,有助于搜索引擎更好地理解和索引网页内容。

💡总结:在实际开发中,通过使用语义化标签,我们能够更准确地表达网页的结构和内容,也可以提升开发效率,提升用户体验、搜索引擎优化和代码的可维护性。