HTML语义化标签 | 青训营

167 阅读6分钟

在学习HTML阶段的最后,我们会涉及到学习语义化标签,明明用div等标签就可以构成页面,那么为什么还会有语义化标签的存在?语义化标签到底是什么?接下来会从上面几个方面说一下我的理解。

一、语义化标签是什么

HTML语义化是指在编写网页时使用合适的HTML标签,以增强文档结构、内容和表现的针对性和可维护性。通过正确使用语义化标签,可以帮助浏览器、搜索引擎和开发者更多很好地理解页面的内容和结构,从而提升用户体验、搜索引擎优化和代码可维护性。

常见的语义化标签及其用途:

  1. <header>:表示页面的头部,通常包含网站的标题、标志、导航等内容。
  2. <nav>:用于定义导航部分,包含页面的主要导航链接。
  3. <main>:表示页面的内容主要区域,每个页面应该只有一个<main>标签。
  4. <article>:表示独立的内容单元,如新闻文章、博客帖子等。
  5. <section>:表示页面中的一个独立区块,具有相关的内容主题。可以用于组织页面的章节。
  6. <aside>:表示页面的附加内容,通常在主内容旁边显示,如侧边栏或广告。
  7. <footer>:表示页面的底部,包含版权信息、联系方式等内容。
  8. <figure>:用于全球媒体内容(如图片、视频),通常包含一个可选的<figcaption>元素,用于描述媒体内容。
  9. <figcaption>:用于为<figure>元素提供标题或描述。
  10. <time>:用于表示日期和时间,有助于机器和搜索引擎更好地理解日期信息。
  11. <mark>:用于标记需要突出显示的文本,类似于荧光笔效果。
  12. <strong>:表示强调显示的文本,通常以粗体。
  13. <em>:表示强调显示的文本,通常以斜体。
  14. <abbr>:用于表示缩写或首字母缩写,并提供全称的解释。
  15. <blockquote>:用于表示长引用块,通常具有缩进样式。
  16. <cite>:用于表示引用的来源,通常用斜体或其他样式分隔。
  17. <q>:用于表示短引用,通常以双引号包围。
  18. <address>:用于表示联系信息,如邮件地址、电话号码等。
  19. <pre>:用于显示预格式化的文本,保留空格和换行。
  20. <code>:用于表示计算机代码,通常以等宽字体显示。

二、为什么会用语义化标签

平时,我们都会采用DIV+CSS布局我们的页面。但是这样的布局方式不仅使我们的文档结构不够清晰,而且不利于浏览器对页面的读取。所以HTML5新增了很多新的语义化标签。并且,在我们未给页面添加css样式时,用户体验并不好。语义化标签也能让浏览器更好的读取页面结构。再就是便于团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

三、语义化标签案例分析

以前制作网页布局,我们基本用div来做。div就是一个普通的块级标签,对于搜索引擎来说,是没有语义的。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
<body>
    <!-- 头部部分 -->
    <div class="header"></div>
    <!-- 导航部分 -->
    <div class="nav"></div>
    <!-- 内容部分 -->
    <div class="content"></div>
    <!-- 底部部分 -->
    <div class="footer"></div>
</body>
</html>

我们使用H5新增的语义化标签更能利于SEO优化,提高我们的搜索排名靠前的优势。

如下案例代码:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        /*这样书写的目的是为了节省性能,性能优化,比使用*号性能更加好*/
        body,header,nav,main,article,aside,footer{
            margin: 0;
            padding: 0;
        }
        /*将H5标签转换成块级元素,作用是兼容IE9+浏览器*/
        header,nav,main,article,aside,footer{
            display: block;
        }
        header{
            width: 1000px;
            height: 100px;
            margin: 10px auto;
            background-color: #ff0000;
        }
        nav{
            width: 1000px;
            height: 60px;
            margin: 10px auto;
            background-color: #00ff00;
        }
        main{
            width: 1000px;
            height: 400px;
            margin: 10px auto;
            background-color: #0000ff;
            overflow: hidden;
        }
        main aside:first-child{
            float: left;
            width: 200px;
            height: 300px;
            margin-right: 10px;
            background-color: pink;
        }
        main article{
            float: left;
            width: 580px;
            height: 400px;
            margin-right: 10px;
            background-color: brown;
        }
        main aside:last-child{
            float: left;
            width: 200px;
            height: 300px;
            background-color: goldenrod;
        }
    </style>
</head>
<body>
    <header>头部部分</header>
    <nav>导航栏</nav>
    <main>
        <aside>左侧边栏</aside>
        <article>中间主体部分</article>
        <aside>右侧边栏</aside>
    </main>
</body>
</html>

案例运行结果

image.png

四、语义化标签的作用

  1. 更好的吸引力和可维护性:使用语义化标签可以使你的代码更具有结构和逻辑性,结果更容易理解和维护。开发者可以更快速地理解页面的结构,从而更容易进行修改、扩展和维护。
  2. 提升搜索引擎优化(SEO) :搜索引擎更容易理解语义化标签,从而更好地索引和分析页面内容。适当使用标题、段落、列表等语义化标签可以为页面的SEO效果带来积极影响。
  3. 增强无障碍性(Accessibility) :语义化标签可以帮助屏幕阅读器等辅助技术更好地解释页面内容,使网站对于视觉障碍用户更加友好。例如,使用语义化的可以使屏幕阅读器能够正确标题书写页面结构。
  4. 跨平台和跨设备的一致性:不同的设备和平台(如移动设备、桌面浏览器等)可以更好地理解和解释语义化标签,从而在不同的环境下呈现一致的体验。
  5. 代码维护性:语义化标签有助于将内容和样式分离,使CSS和JavaScript的开发更加灵活。这样,你就可以更容易地更新样式或逻辑,而无需修改HTML标签结构。
  6. 文档结构清晰:使用语义化标签能够清晰地表达页面结构。比如,使用<nav>标签来定义导航菜单,使用<header>标签来表示页面顶部,使用<footer>标签来表示页面底部等。
  7. 未来兼容:随着技术的不断发展,浏览器会不断支持新的HTML标签。使用语义化标签可以更好地适应未来的Web标准,减少后续升级的工作量。

五、注意事项

  • 这种语义化标准主要针对搜索引擎的
  • 这些新标签页面中可以使用多次的
  • 在IE9中,需要把这些元素转换为块级元素
  • 其实,我们移动端更喜欢使用这些标签

六、学习心得

语义化标签的学习让我明白了它对数据和信息进行处理,使得机器可以理解。语义化的HTML文档有助于提升网站对访客的易用性,比如使用PDA、文字浏览器以及残障人士将从中受益。对于搜索引擎或者爬虫软件来说,则有助于它们建立索引,并可能给予一个较高的权值。语义化标签的关注有助于可访问性、可检索性、国际化和互用性。常用的语义化标签包括h1~h6、i、b、strong等。而在HTML5中,也引入了更多的语义化标签。

综上所述,HTML语义化标签对于开发具有可执行性、可维护性、搜索引擎优化、无障碍性等方面都有积极的影响。在编写网页时,首先考虑如何选择合适的标签来表达内容的结构和意义,这将有助于提升网站的质量和用户体验。