关于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日

相关文章

  • Vue中使用Tailwind CSS的具体方法

    当我们使用Vue.js进行前端开发时,很多时候我们需要使用CSS框架来提高开发效率并实现更漂亮的界面。而Tailwind CSS是一款基于Utility-First(以下简称UF)设计的CSS框架,可以让我们快速地构建HTML界面。本文将介绍如何在Vue项目中使用Tailwind CSS。 1. 安装Tailwind CSS 首先,我们需要在Vue项目中安装…

    css 2023年6月10日
    00
  • 基于JavaScript实现游戏购物车效果详解

    基于JavaScript实现游戏购物车效果详解 背景介绍 本文介绍了如何使用 JavaScript 实现游戏购物车效果。该购物车效果可以用于游戏中的商城系统,用户在商城中选择游戏道具后,可以加入购物车等待结算。 实现步骤 HTML 页面准备 在 HTML 页面中准备两个结构 class 分别为 shop 和 cart,用于展示商城中的商品和购物车中的商品。 …

    css 2023年6月11日
    00
  • 纯 CSS 实现多行文字截断功能

    下面是关于“纯 CSS 实现多行文字截断功能”的完整攻略。 标题 在CSS中进行的多行文字截断通常使用text-overflow属性来截取多出的文字,并使用ellipsis来表示截断。但是,这只能在一行文字上使用,无法在多行文字上使用。 所以,我们可以采用display: -webkit-box和-webkit-line-clamp实现多行文字截断的效果。 …

    css 2023年6月10日
    00
  • ie8 body overflow hidden 无效的解决方法

    针对“ie8 body overflow hidden 无效”的问题,我们可以通过以下方法来解决: 问题分析 首先需要分析问题,为什么设置了 body 的 overflow: hidden,在 IE8 中无效呢?这是因为 IE8 及以下版本只能对文档的根元素 html 进行滚动条的控制,而不能对 body 元素进行控制,因此 overflow: hidden…

    css 2023年6月10日
    00
  • jQuery表单域属性过滤器用法分析

    jQuery表单域属性过滤器旨在方便进行表单操作,通过选择器的方式指定特定的表单域属性,快速地获取或者操作表单数据。下面分为两个部分,分别为基础知识和用法分析。 基础知识 jQuery表单域属性过滤器的基本书写格式如下: $(":input[attribute filter]") 其中,”:input”表示选择所有标准的输入类型,例如文本…

    css 2023年6月10日
    00
  • vue实现用户动态权限登录的代码示例

    一、前言 动态权限登录是提高系统安全性的一种关键技术。因此,在设计web系统时,考虑实现用户的动态权限登录是十分必要的。vue是一款广泛使用的前端框架,拥有便捷的数据绑定和组件化等特点,可以很好地满足我们的需求。本文主要以vue实现用户动态权限登录为例,提供具体的代码示例和实现方法。在本文中,我将介绍两条实现动态权限登录的提示。 二、实例1 首先,我们来看一…

    css 2023年6月10日
    00
  • JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)

    首先,我们需要了解一些基础知识,如何获取屏幕宽度和高度,浏览器窗口大小,以及网页的高度和宽度。在JavaScript中,我们可以使用以下方法获取这些信息: 获取屏幕宽度和高度: // 获取屏幕宽度和高度 var screenWidth = window.screen.width; var screenHeight = window.screen.height…

    css 2023年6月10日
    00
  • React 中如何将CSS visibility 属性设置为 hidden

    当我们想要在 React 中将某个元素的 visibility CSS 属性设置为 hidden 时,我们可以使用如下两种方式: 方法一:使用行内样式 我们可以通过在组件中使用行内样式来设置 visibility 属性。在 React 中,我们可以通过 props 来向组件传递样式。在这种情况下,我们需要使用 JavaScript 对象来表示 CSS 样式。…

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