HTML语义化

news2024/11/24 2:12:47

目录

  • 语义化
    • 什么是HTML语义化
    • 语义化的优点
  • 语义元素
  • 微格式

语义化

我们在设计网页时,不应以内容的表现形式来决定使用什么元素包裹,而是应该基于内容的语义来选择元素

<h1>标题</h1>
<div>标题</div>

它们同样都能表示标题这个文本,在默认情况下,由h1展示的文本会比被其他元素展示的文本大一些
对比
但我们可以通过修改css的形式来使两个元素的表现形式一致

display: block;
font-size: 2em;
margin-block-start: 0.67em;
margin-block-end: 0.67em;
margin-inline-start: 0px;
margin-inline-end: 0px;
font-weight: bold;
unicode-bidi: isolate;

对比
即便它们的表现形式一样,但它们的语义却天差地别,哪怕div的表现形式和h1一样,div的语义也没有和“第一级标题”对应起来

HTML 应该编写为表示将要填充的数据,而不是基于其默认的演示样式。演示(应该是什么样子),是 CSS 的唯一责任

什么是HTML语义化

HTML语义化指的是在创建HTML页面时,使用合适的标签来准确描述内容的意义和结构

在HTML页面的构建过程中,语义化扮演着至关重要的角色。它涉及到使用合适的HTML标签来准确地表达内容的意义和组织结构。这不仅仅是关于标签的选择,更是一种确保内容正确表达的实践

语义化的优点

保证文档有着丰富的语义会有如下优点:

  1. 有助于SEO:
    搜索引擎将其内容视为影响页面搜索排名的重要关键字
  2. 良好的页面展示
    即便没有css,有着丰富语义的网页也能有着良好的展示效果
  3. 无障碍
    能更好的被屏幕阅读器等设备理解并帮助其他用户导航页面

语义元素

在HTML5中新增了许多语义化元素,以下是常用的HTML元素:

  1. header:定义页面的头部区域,可能包含一些标题元素,但也可能包含其他元素,比如 Logo、搜索框、作者名称等等
  2. nav:定义页面中导航链接的部分
  3. main:定义文档的主要内容,该内容在文档中应当是独一无二的,main文档的大纲没有贡献,即不会影响DOM的页面结构概念
  4. article:定义文档、页面、应用或网站中的独立结构,它可以是论坛帖子、杂志或新闻文章、博客、用户提交的评论等
  5. section:定义一个通用的分节元素,只有在没有更具体的元素来代表它的时候才可以使用
  6. aside:表示与页面主要内容相关性较低的部分,通常被认为是独立的部分,可以单独拆分而不影响整体。常见的例子是侧边栏或嵌入内容
  7. footer:定义最近一个章节或根节点元素的页脚。页脚通常包含章节作者、版权信息或与文档相关的链接等信息

语义化

微格式

所谓微格式,是建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式

具体表现是把语义嵌入到 HTML 中,以便有助于分离式开发,并通过制定一些简单的约定,来兼顾 HTML 文档的人机可读性,相当于对 Web 网页进行了语义注解,微格式的一个关键原则是赋予人类可读内容特权,这意味着在设计网页时我们应首先考虑内容设计的可读性和可访问性,通过使用最合适的HTML元素并将结构化类名应用到标记中,我们可以让自动化程序和其他在线工具以结构化方式使用这些内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1831084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT基础入门【环境搭建篇】QT MQTT库的移植和使用(官方mqtt库编译详细教程)

之前写过一篇第三方MQTT库的编译教程,有兴趣的小伙伴可以去看看(QT MQTT库的移植和使用(非官方库qmqtt库)),今天主要讲解官方MQTT库的编译与使用方法(基于QT5.12.1)。 QT的MQTT库有两个,一个是官方库,一个是第三方库,二者的差别就是一个 API 上,使用方面没有太大区…

AIOps在业务运维的最佳应用实践

随着企业IT基础架构的复杂性日益增加&#xff0c;传统运维模式难以满足高效、稳定的业务需求。AIOps&#xff08;人工智能运维&#xff09;作为一种新兴技术&#xff0c;通过数据驱动的自动化和智能化手段&#xff0c;有效提升了IT运维的效率和可靠性。本文将探讨AIOps在业务运…

Vue3中的常见组件通信之`pinia`

Vue3中的常见组件通信之pinia 概述 ​ 在vue3中常见的组件通信有props、mitt、v-model、 r e f s 、 refs、 refs、parent、provide、inject、pinia、slot等。不同的组件关系用不同的传递方式。常见的撘配形式如下表所示。 组件关系传递方式父传子1. props2. v-model3. $ref…

Aigtek功率放大器参数怎么选型的

功率放大器是电子系统中重要的组成部分&#xff0c;选型合适的功率放大器对系统的性能和可靠性至关重要。本文下面安泰电子将介绍如何选型功率放大器的关键步骤和考虑因素。 首先&#xff0c;确定应用需求。在选型功率放大器之前&#xff0c;确定应用需求是至关重要的第一步。了…

Mathtype与word字号对照+Mathtype与word字号对照

字体大小对照表如下 初号44pt 小初36pt 一号26pt 小一24pt 二号22pt 小二18pt 三号16pt 小三15pt 四号14pt 小四12pt 五号10.5pt 小五9pt 六号7.5pt 小六6.5pt 七号5.5pt 八号5pt 1 保存12pt文件 首选选择第一个公式&#xff0c;将其大小改为12pt 然后依次选择 “预置”—…

Canvas倒计时

Canvas倒计时 前言 用Canvas绘制一个倒计时组件&#xff0c;显示距离新年还有多长时间&#xff0c;精确到秒&#xff0c;该倒计时需要实时更新 基础知识点 JS Date() 创建一个新Date对象的唯一方法是通过new 操作符&#xff0c;例如&#xff1a;let now new Date(); 若将…

华为OD机试 - 文件缓存系统 - 双向链表(Java 2024 D卷 100分)

华为OD机试 2024D卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;D卷C卷A卷B卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测…

自动生成列表,颜色随机 ,定时执行函数,10秒停止执行函数,按钮执行函数

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>颜色列表Color List</title><style>…

介绍并改造一个作用于Anki笔记浏览器的插件

在Anki的笔记浏览器窗口中&#xff0c;作为主体部分的表格在对获取到的笔记进行排序时&#xff0c;最多只能有一个排序字段&#xff0c;在设定笔记的排序字段后&#xff0c;没法将表格中的笔记按其他字段进行排序。要满足这个需求&#xff0c;可以使用Advanced Browser插件&…

【ai】初识pytorch

初识PyTorch 大神的例子运行: 【ai】openai-quickstart 配置pycharm工程 简单例子初识一下Pytorch 好像直接点击下载比较慢? 大神的代码 在这个例子中,首先定义一个线性模型,该模型有一个输入特征和一个输出特征。然后定义一个损失函数和一个优化器,接着生成一些简单的线性…

Spring Cloud Config配置信息自动更新原理解析

我们知道Spring Cloud Config是Spring Cloud提供的配置中心实现工具&#xff0c;我们可以通过它把配置信息存放在Git等第三方配置仓库中。每当Spring Cloud Config客户端启动时&#xff0c;就会发送HTTP请求到服务器端获取配置信息&#xff0c;这点比较好理解。但事实上&#x…

一个示例学习C语言到汇编层面

给出以下代码 #include<stdio.h> int main() {int x 0, y 0, z 0;while (1) {x 0;y 1;do {printf("%d\n", x);z x y;x y;y z;} while (x < 255);}return 0; }我们把这个程序编写成32位程序&#xff0c;然后我们放入IDA中进行分析 .text:0080187…

矩阵乘法的直觉

矩阵乘法是什么意思&#xff1f; 一种常见的观点是矩阵乘法缩放/旋转/倾斜几何平面&#xff1a; NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜…

JavaScript妙笔生花:打造沉浸式中国象棋游戏体验

前言 随着信息技术的飞速发展&#xff0c;Web开发领域也出现了翻天覆地的变化。JavaScript作为前端开发中不可或缺的编程语言&#xff0c;其重要性不言而喻。而当我们谈论到利用JavaScript打造一款沉浸式的中国象棋游戏体验时&#xff0c;我们不仅仅是在开发一个游戏&#xff0…

Web应用安全测试-权限篡改

Web应用安全测试-权限篡改 任意用户密码修改/重置 漏洞描述&#xff1a; 可通过篡改用户名或ID、暴力破解验证码等方式修改/重置任意账户的密码。 测试方法&#xff1a; 密码修改的步骤一般是先校验用户原始密码是否正确&#xff0c;再让用户输入新密码。修改密码机制绕过方式…

【Ubuntu通用压力测试】Ubuntu16.04 CPU压力测试

​ 使用 stress 对CPU进行压力测试 我也是一个ubuntu初学者&#xff0c;分享是Linux的优良美德。写的不好请大佬不要喷&#xff0c;多谢支持。 sudo apt-get update 日常先更新再安装东西不容易出错 sudo apt-get upgrade -y 继续升级一波 sudo apt-get install -y linux-to…

微信分销商城小程序源码系统在线搭建 前后端分离 带完整的安装代码包以及搭建教程

系统概述 本微信分销商城小程序源码系统采用先进的前后端分离架构设计&#xff0c;前端使用Vue.js框架开发&#xff0c;后端则基于Spring Boot构建&#xff0c;确保了系统的高可维护性、扩展性和性能。系统集商品展示、在线交易、会员管理、分销推广、订单处理、数据统计等功能…

redis存储结构

概要 首先&#xff0c;redis是一种"键值对"&#xff08;key-value&#xff09;数据库&#xff0c;也就是说&#xff0c;redis中存储的用户数据都是以key-value的方式存在的&#xff0c;而这些键值对存储于哈希表&#xff0c;这也解释了为什么redis提供的set、lpush、…

vue标签组

先看样式 再看代码 <div v-else class"relative"><n-tabs ref"tabsInstRef" v-model:value"selectValue" class"min-w-3xl myTabs"><n-tab-panev-for"(tab) in songsTags" :key"tab.name" displ…

Java集合框架源码分析:ArrayList

文章目录 一、ArrayList特性二、ArrayList底层数据结构三、ArrayList继承关系1、Serializable标记性接口2、Cloneable标记性接口3、RandomAccess标记性接口4、AbstractList抽象接口 四、ArrayList源码分析1、构造方法2、添加方法3、删除方法4、修改方法5、获取方法6、转换方法7…