什么是 web 语义化,有什么好处

article/2025/7/15 14:26:21

 什么是 web 语义化,有什么好处

web 语义化是指通过 HTML 标记表示页面包含的信息,包含了 HTML 标签的语义化和 css 命名的语义化。

HTML 标签的语义化是指:通过使用包含语义的标签(如 h1-h6)恰当地表示文档结构

css 命名的语义化是指:为 html 标签添加有意义的 class,id 补充未表达的语义,如[Microformat](http://en.wikipedia.org/wiki/Microformats)通过添加符合规则的 class 描述信息

为什么需要语义化:

- 去掉样式后页面呈现清晰的结构

- 盲人使用读屏器更好地阅读

- 搜索引擎更好地理解页面,有利于收录

- 便团队项目的可持续运作及维护

以下内容转自  https://blog.csdn.net/qq_38128179/article/details/80811339     @Demi博主原创文章

什么是语义元素?

语义是指对一个词或者句子含义的正确解释。很多html标签也具有语义的意义,也就是说元素本身传达了关于标签所包含内容类型的一些信息。例如,当浏览器解析到<h1></h1>标签时,它将该标签解释为包含这一块内容的最重要的标题。h1标签的语义就是用它来标识特定网页或部分最重要的标题。

为什么要语义化?

  • 代码结构: 使页面没有css的情况下,也能够呈现出很好的内容结构
  • 有利于SEO: 爬虫依赖标签来确定关键字的权重,因此可以和搜索引擎建立良好的沟通,帮助爬虫抓取更多的有效信息
  • 提升用户体验: 例如title、alt可以用于解释名称或者解释图片信息,以及label标签的灵活运用。
  • 便于团队开发和维护: 语义化使得代码更具有可读性,让其他开发人员更加理解你的html结构,减少差异化。
  • 方便其他设备解析: 如屏幕阅读器、盲人阅读器、移动设备等,以有意义的方式来渲染网页。

HTML5常用的语义元素

HTML5提供了新的语义元素来定义网页的不同部分,它们被称为“切片元素”,如图所示  

                             

大约有100多个HTML语义元素可供选择,以下是常用的语义元素

结构体文本一致
  • header
  • h1
  • h2
  • h3
  • nav
  • footer
  • article
  • section
  • p
  • ul
  • ol
  • li
  • blockquote
  • a
  • strong
  • em
  • q
  • abbr
  • small

<h1>~<h6>元素

定义页面的标题,h1元素具有最高等级,h6元素具有最低的等级

<header>元素

用于定义页面的介绍展示区域,通常包括网站logo、主导航、全站链接以及搜索框。也适合对页面内部一组介绍性或导航性内容进行标记。

<header><h1>HTML Reference</h1><nav><a>Home</a><a>About</a><a>Contact</a></nav></header>

<nav>元素

定义页面的导航链接部分区域,不是所有的链接都需要包含在<nav>中,除了页脚再次显示顶级全局导航、或者包含招聘信息等重要链接。

<nav><a>Home</a><a>About</a><a>Contact</a></nav>

<main>元素

定义页面的主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。

<main><h1>My blog test</h1><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec viverra nec nulla vitae mollis.</p><p>etc.</p></main>

 <article>元素

定义页面独立的内容,它可以有自己的header、footer、sections等,专注于单个主题的博客文章,报纸文章或网页文章。article可以嵌套article,只要里面的article与外面的是部分与整体的关系。

<article><header><h3><a href="">My blog post</a></h3></header><section><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec viverra nec nulla vitae mollis.</p></section><footer><small>Posted on <time datetime="2017-04-29T19:00">Apr 29</time> in <a href="">Code</a></small></footer></article>

<section>元素

元素用于标记文档的各个部分,例如长表单文章的章节或主要部分。

<section><h2>Section title</h2><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec viverra nec nulla vitae mollis.</p></section>

 <aside>元素

定义与主要内容相关的内容块。通常显示为侧边栏。

<aside><h3>About the author</h3><p>Frontend Designer from Bordeaux, currently working for Improbable in sunny London.</p></aside>

<footer>元素

定义文档的底部区域,通常包含文档的作者,著作权信息,链接的使用条款,联系信息等

 
<footer>COPYRIGHT@dingFY_Demi</footer>

 <small>元素

为较不重要的内容定义小字体。如果被包围的字体已经是字体模型所支持的最小字号,那么 <small> 标签将不起任何作用。

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec viverra nec nulla vitae mollis.</p><small>Posted on <time datetime="2017-04-29T19:00">Apr 29</time> in <a href="/category/code">Code</a></small>

 <strong>元素

把文本定义为语气更强的强调的内容,以表示内容的重要性。

HTML should only be used to write 
<strong>content</strong>, and keep CSS for 
<strong>styling</strong> the web page.

 <em>元素

标记内容着重点(大量用于提升段落文本语义),通常呈现为斜体文字。

HTML should only be used to write <em>content</em>, and keep CSS for <em>styling</em> the web page.

 <blockquote>元素

定义块引用,浏览器会在 blockquote 元素前后添加换行,并增加外边距。cite属性可用来规定引用的来源

<blockquote cite="https://en.wikiquote.org/wiki/Marie_Curie">Here is a long quotation here is a long quotation here is a long quotationhere is a long quotation here is a long quotation here is a long quotationhere is a long quotation here is a long quotation here is a long quotation.</blockquote>

<abbr>元素

解释缩写词。使用title属性可提供全称,只在第一次出现时使用就ok。

The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.

 


http://chatgpt.dhexx.cn/article/xqeH8Wy7.shtml

相关文章

Web语义化

什么是Web语义化&#xff1f; 如今互联网已经到了web3.0时代了&#xff0c;HTML语言在不断的进化并发挥着越来越重要的地位&#xff1b;而我们制作的网页也从当初的table表格嵌套发展到了divcss&#xff0c;这是进步的标志。然而我们似乎看到了一个不太好的想象&#xff1a;整个…

使用pygame开发一个弹幕射击游戏(一)

本文作为开发过程记录用。 目前游戏画面&#xff1a; 下一个添加的功能&#xff1a;敌机可以进行射击。 弹幕类 from pygame.sprite import Sprite from pygame import transform import mathclass Barrage(Sprite):def __init__(self,raiden_settings,screen,ship,enemy,angle…

手机射击游戏中弹幕的开发

射击游戏中弹幕的开发 http://blog.vckbase.com/knight/archive/2005/03/29/4174.html 作者:牛阿牛 2005-02-28 nhf_2008hotmail.com nhf_2003hotmail.com email:nhf20021166163.com 留言:希望能给各位游戏开发一点的介绍;如有问题,请联系. 游戏射击中, boss可能是最重要…

基于C#弹幕类射击游戏的实现——(十)整合

有朋友说只看代码不爽,所以特上传EXE和一张截图,哈哈。 执行文件下载链接:http://pan.baidu.com/s/1pJ5Hg5X http://download.csdn.net/detail/unskytoo/8366523 剩下部分代码,首先是入口,MainForm public partial class MainForm : Form{public MainForm(){//// The In…

DxLib做弹幕射击游戏(二)——画一台敌机

直接看代码&#xff1a; #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {ChangeWindowMode( TRUE ) ;if( DxLib_Init() -1 ){return -1 ;}int gh ;//图像编号int x, y;//坐标x 200;y 1…

DxLib做弹幕射击游戏(一)

DxLib是神马东西&#xff1f;看名字&#xff0c;似乎是M$的DirectX的官方库&#xff1f;NONONO&#xff0c;这货其实是日本人开发出来的一个库&#xff0c;封装了很多DirectX的函数&#xff0c;使开发更方便。这个库在日本那边很流行&#xff0c;很多同人游戏都是使用这个库开发…

【四圣龙神录】 开源仿东方 弹幕射击游戏教程 官网(译)以及国内参考翻译资料

四圣龙神录 官网地址 http://dixq.net/sr/ 引用doujin 上的帖子的介绍 http://bbs.doujinstg.net/simple/?t1478.html 开源仿东方STG&#xff0d;四圣龙神录&#xff0c;带弹幕制作教程60讲&#xff0c;使用C语言DXLib 非常不错的仿东方的STG&#xff0c;网站上面带制作…

重写弹幕射击游戏的记录

项目背景介绍 上大学之后我一直在学习游戏开发&#xff0c;最开始是直接使用Easyx这个绘图库做Dos下的游戏&#xff0c;当时学习了C和数据结构之后正巧有个数据结构课程设计&#xff0c;就心生了要做这个游戏的想法。我算是那种有想法就想着去做的人&#xff08;有时候也算是缺…

【Unity2D入门教程】简单制作战机弹幕射击游戏⑥最终回扩展其它范围的内容

制作分数和生命的UI&#xff1a; 由于我们前面没有做类似的UI所以这里教大伙一下基本思路&#xff1a; 首先我们创建一个canvas用来创建两个Text用来显示分数和生命的UI 蓝色的是分数黄色的是生命 我们创建一个scoreplay的脚本挂载在text上 using System.Collections; usi…

【Unity2D入门教程】简单制作战机弹幕射击游戏③C#编写 子弹Laser脚本

学习目标&#xff1a; 今天教大伙怎么设置子弹Laser的组件以及编写关于它的脚本 学习组件&#xff1a; 老规矩还是添加一下它的组件用capusle collider2D刚好它还是个圆柱体&#xff0c;别忘了勾选它的isTrigger Rigibody2D的Body Type调成是让它不受重力以及物理碰撞影响&a…

【Unity2D入门教程】简单制作战机弹幕射击游戏⑦番外篇扩展一个大型敌人

布置场景&#xff1a; 我们先按CrtlD复制一个之前创建好的Enemy Prefab&#xff0c;然后更改它的Sprite&#xff0c;我们拖一张素材的图片进来并改变它的Pixel Per Unit让它大其它敌机一倍 由于体型变大了之前的Coliider就不适用了我们要重新删掉之前的再创建一个新的 同样它的…

【Unity2D入门教程】简单制作战机弹幕射击游戏④C#编写 敌人按指定路径以及敌人生成点脚本

前言&#xff1a; 我们前面忘记设置的当敌机和子弹碰到特定的位置&#xff08;指屏幕外的&#xff09;就会自动销毁 挂载的脚本Sherred如下 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Shredder : MonoBehaviour {private…

【Unity2D入门教程】简单制作战机弹幕射击游戏⑤C#编写 背景滚动移动以及增加粒子特效

学习目标&#xff1a; 上期结束后我们游戏的主体就已经差不多了&#xff0c;剩下的就要给游戏的真实质感以及可玩性上下大点功夫了&#xff0c;今天我们就从背景滚动移动以及增加粒子特效上出发。 背景滚动制作&#xff1a; 为了让游戏更具真实性的就是让玩家从视觉上感受飞机…

【Unity2D入门教程】简单制作战机弹幕射击游戏② C#编写 Player和Enemy脚本

学习目标&#xff1a; 上期的水平大伙看到我已经写好了Enemy和Player的脚本了&#xff0c;现在就把脚本教给大伙&#xff0c;话不多说搞的不丑 学习内容&#xff1a; 首先是Player的脚本&#xff08;之前没发现CSDN有这个代码段的&#xff0c;我的我的&#xff09; using Sy…

【Unity2D入门教程】简单制作战机弹幕射击游戏① 导入素材

学习目标&#xff1a; 今天我们制作一款类似银河战机的游戏导入素材并给它设置一下背景&#xff0c;把素材做成预设体等等 首先先上网找到我们需要的素材 Unity Asset Store - The Best Assets for Game MakingDiscover the best assets for game making. Choose from our mas…

弹幕射击游戏中旋转矩形碰撞检测的算法描述

分离轴法是根据两个多边形的几何中心在任意矢量方向的法线上的投影存在交叉的条件来做出的方法[32]。换而言之&#xff0c;如果可以找出这样一个方向&#xff0c;将两个多边形投影在此方向的法线上的投影不交叉&#xff0c;则说明碰撞未发生&#xff0c;如图5-3所示。 图中A、B…

Cocos2d-x 简单弹幕射击游戏

开发环境 Win10, Cocos2d-x v3.16, Visual Studio 2017, Visual Studio Code 项目阐述 这个游戏是一个小型的弹幕游戏。玩家将控制pipi美&#xff0c;在躲避pop子的子弹之余&#xff0c;射杀pop子。名字打算叫“pop子的深邃黑暗幻想”。 游戏的设计主要借鉴了东方系列的弹幕游…

程序员职业规划和学习规划

程序员职业规划路线 技术体系 阿里程序员等级 学习规划

程序员职业发展规划

程序员职业生涯发展到一定的程度都会面临着职业发展方向选择的问题&#xff0c;随着年龄的增长&#xff0c;面对日新月异的代码&#xff0c;感到力不从心&#xff0c;更年轻的程序员层出不穷&#xff0c;这些都是促使程序员向另一个方向进行转型&#xff0c;那么&#xff0c;程…