关于HTML的语义化标签和无语义化标签

HTML语义化标签和无语义化标签是Web开发中常用的两种标签类型,它们的使用对于构建可读性高、易维护、SEO友好和语义化的结构化文档非常重要。下面将详细解释它们的区别和用法。

HTML语义化标签

HTML语义化标签是指按照文档内容所表达的语义含义来编写HTML标签,它们不仅仅可以提升页面的可读性和可访问性,还可以提高搜索引擎的抓取效率和页面的排名。HTML5中新增了很多语义化标签,主要包括:

  • header:页面或者文章的头部,通常包括 logo、标题、导航等。
  • nav:页面中的导航菜单,通常包括站内链接和外部链接。
  • aside:页面内容之外的附属信息,通常包括广告、标签云、推荐文章等。
  • section:页面中的一块内容,通常包括文章的一段或者一个模块。
  • article:独立的文章或者页面主体,通常包括标题、作者、发布日期等信息。
  • footer:页面或者文章的底部,通常包括版权信息、联系方式等。

下面是一个示例,使用语义化标签来构建一个简单的博客页面结构:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Blog</title>
</head>
<body>
  <header>
    <h1>My Blog</h1>
    <nav>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </nav>
  </header>
  <section>
    <article>
      <header>
        <h2>My First Post</h2>
        <p>By John Doe</p>
        <time datetime="2021-08-01">August 1, 2021</time>
      </header>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac elit quis ligula vulputate bibendum. Donec bibendum imperdiet lacinia. Nam auctor fringilla nisi, vel porta eros consectetur a.</p>
    </article>
    <article>
      <header>
        <h2>My Second Post</h2>
        <p>By Jane Smith</p>
        <time datetime="2021-08-02">August 2, 2021</time>
      </header>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac elit quis ligula vulputate bibendum. Donec bibendum imperdiet lacinia. Nam auctor fringilla nisi, vel porta eros consectetur a.</p>
    </article>
  </section>
  <aside>
    <h3>Categories</h3>
    <ul>
      <li><a href="#">Web Development</a></li>
      <li><a href="#">JavaScript</a></li>
      <li><a href="#">CSS</a></li>
    </ul>
  </aside>
  <footer>
    <p>Copyright © 2021 My Blog</p>
  </footer>
</body>
</html>

无语义化标签

无语义化标签是没有任何语义含义的标签,它们主要用于页面布局和样式控制,如div、span、table等。它们不仅使HTML代码难以理解和维护,还给搜索引擎抓取造成了困扰,因为搜索引擎更倾向于按照语义化标签来处理文档内容。

下面是一个示例,使用无语义化标签来构建一个简单的博客页面结构:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Blog</title>
  <style>
    .header {
      display: flex;
      justify-content: space-between;
    }
    .nav {
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav li {
      margin-right: 10px;
    }
    .section {
      display: flex;
      justify-content: space-between;
    }
    .aside {
      display: flex;
      flex-direction: column;
    }
  </style>
</head>
<body>
  <div class="header">
    <h1>My Blog</h1>
    <ul class="nav">
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </div>
  <div class="section">
    <div class="article">
      <h2>My First Post</h2>
      <p>By John Doe</p>
      <time datetime="2021-08-01">August 1, 2021</time>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac elit quis ligula vulputate bibendum. Donec bibendum imperdiet lacinia. Nam auctor fringilla nisi, vel porta eros consectetur a.</p>
    </div>
    <div class="article">
      <h2>My Second Post</h2>
      <p>By Jane Smith</p>
      <time datetime="2021-08-02">August 2, 2021</time>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac elit quis ligula vulputate bibendum. Donec bibendum imperdiet lacinia. Nam auctor fringilla nisi, vel porta eros consectetur a.</p>
    </div>
    <div class="aside">
      <h3>Categories</h3>
      <ul>
        <li><a href="#">Web Development</a></li>
        <li><a href="#">JavaScript</a></li>
        <li><a href="#">CSS</a></li>
      </ul>
    </div>
  </div>
  <div class="footer">
    <p>Copyright © 2021 My Blog</p>
  </div>
</body>
</html>

综上所述,HTML语义化标签和无语义化标签的选择取决于实际情况。如果想要提高页面的可读性和可访问性,同时提高搜索引擎的抓取效率和页面的排名,就应该选择语义化标签;如果只是为了实现页面布局和样式控制,就可以使用无语义化标签。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于HTML的语义化标签和无语义化标签 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 手机网页wap用Bootstrap还是jQuery Mobile

    当需要开发手机网页时,Bootstrap和jQuery Mobile都是常用的响应式前端框架。它们有很多相似之处,但也有一些不同点。在选择使用哪一个前端框架时,需要根据项目的需求和特点来选择。 Bootstrap vs jQuery Mobile Bootstrap Bootstrap是Twitter开发的前端框架,具有以下特点: 响应式设计:可以自适应不同…

    css 2023年6月11日
    00
  • 一波CSS的Checkbox复选框样式代码分享

    一、如何实现自定义复选框样式 隐藏原生复选框 在实现自定义复选框样式前,需要先隐藏原生复选框。可以使用display:none;对原生复选框进行隐藏。 利用伪元素来实现样式 利用CSS的伪元素:before和:after来实现自定义复选框的外观效果。通过设置伪元素的content属性,我们可以添加图标或填充颜色,并调整元素的尺寸和位置。 利用:checked…

    css 2023年6月11日
    00
  • 需灵活掌握的Bootstrap预定义排版类 你精通吗?

    Bootstrap是一个广泛应用于Web开发项目的前端框架,其提供了大量的预定义排版类,可以极大地提高Web页面的开发效率。其中一些常用、常见的预定义排版类是必须要熟练掌握的。 需灵活掌握的Bootstrap预定义排版类 文字相关的预定义排版类 Bootstrap提供了大量的预定义排版类,用来控制文字的大小、颜色、字体等属性。其中一些常用的预定义排版类包括:…

    css 2023年6月9日
    00
  • CSS命名规则和命名方法

    当我们为一个网页添加样式时,必须为元素选择器或者类添加对应的样式,为了使代码更加具有可读性和可维护性,我们需要遵循一定的CSS命名规则和命名方法。 以下是CSS命名规则的攻略: CSS命名规则 1. 命名中只能使用字母、数字和短横线 在CSS选择器中,只能使用字母、数字和短横线,不能使用空格、下划线、点号等特殊字符。 2. 必须以字母开头 在命名Class或…

    css 2023年6月10日
    00
  • 兼容主流浏览器的CSS透明代码(必看篇)

    下面详细讲解“兼容主流浏览器的CSS透明代码(必看篇)”的完整攻略。 什么是CSS透明代码 CSS透明代码是指在Web页面中,通过CSS样式实现元素背景透明的技术。 通过调节透明度值,可以让元素显示成半透明或全透明,从而带来更好的视觉效果,让页面看起来更加美观。 如何实现兼容主流浏览器的CSS透明代码 下面是一些常用的CSS透明代码实现方式: 使用RGBA颜…

    css 2023年6月9日
    00
  • HTML5 层的叠加的实现

    HTML5 层的叠加实现通常使用 CSS 中的 position 属性来实现。position 属性有四个取值:static(默认值)、relative、absolute 和 fixed。其中 relative、absolute 和 fixed 三个取值可以进行层的叠加。 相对定位 相对定位(position: relative)是以元素在正常文档流中的位置…

    css 2023年6月9日
    00
  • 用js实现CSS圆角生成更新

    使用 JavaScript 实现 CSS 圆角生成的过程主要分为以下几步: 1、获取HTML元素 首先需要获取 HTML 元素,可以通过 document.querySelector() 或 document.querySelectorAll() 方法来获取。 const divElement = document.querySelector(‘.box’)…

    css 2023年6月11日
    00
  • 详解android 中文字体向上偏移解决方案

    标准化使用字体文件 在 Android 中,中文字体的显示通常需要使用外部字体文件。为了解决文字向上偏移的问题,我们需要在使用字体文件时进行标准化处理。 具体实现方法是在 assets 目录下加入字体文件,并在 AndroidManifest.xml 中注册该字体文件。然后,在使用字体时调用 Typeface.createFromAsset() 方法进行加载…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部