【前端小站】HTML 标签:网页骨架,从空白到惊艳,全靠这些 HTML 标签搞事情

【前端小站】HTML 标签:网页骨架,从空白到惊艳,全靠这些 HTML 标签搞事情

请添加图片描述

半桔个人主页
 🔥 个人专栏: 《前端扫盲》《手撕面试算法》《C++从入门到入土》

🔖为什么有人总是赞美生活的丰富多彩?我想这是因为他们善于品尝生活中随时出现的意外。 ​ -余华-


文章目录

前言

HTML(HyperText Markup Language,超文本标记语言)是构建网页的基石,是每一位前端开发者踏入 Web 世界的关键钥匙。它通过一系列语义化与功能性的标签,为网页搭建起清晰的 “结构骨架”,让文本、图片、表单等各类内容得以有序呈现,是网页与用户交互的 “第一层语言”。

对于想要系统学习 HTML 的初学者,或是需要回顾基础的开发者而言,本文将围绕 HTML 的核心标签体系展开讲解。

我们会从最基础的初始 HTML 结构标签入手,逐步深入到文本标签(标题、段落、强调类等)、媒体与交互标签(图片、超链接)、表格标签列表标签(无序、有序、自定义)、表单标签(容器、输入控件、辅助标签等)的使用方法与场景,最后也会涉及无语义标签的相关知识。通过对这些内容的学习,你将全面掌握 HTML 构建网页结构的核心能力,为后续学习 CSS(美化网页样式)、JavaScript(实现网页交互)奠定坚实的基础。

一. HTML结构

1.1 初始HTML标签

  • HTML代码都是由标签组成的。

标签就是类似于<body>内容</body>,这种形式的字段,比如下面百度的主页:

请添加图片描述

可以看到就是由众多标签组成的。

关于标签可以分为两类:

  1. 双标签:有开始,有结束;比如<body>内容....</body>,其中的<body>就是开始标签,而/body就是结束标签;
  2. 单标签:只有开始,比如,图片标签<img>
  • 在双标签之间放的是标签对应的内容,而在标签内部则可以设置标签的属性;

关于有哪些标签以及如何进行使用,在后面会详细进行介绍。

1.2 标签的层次

标签之间的结构关系,组成了一颗DOM树的结构,就是一颗多叉树。

请添加图片描述
  • 因此多叉树的节点中有哪些关系,标签就有那些关系.

其中有几个规定:

  1. html标签是根标签,所有标签都是它的子标签;
  2. <head>是网页属性,配置标签,<body>是网页主体内容标签,他们是父子标签。

在进行前端编写时,我们通常会采用vscode作为我们的开发工具,此处推荐几个好用的插件:

  1. Auto Rename Tag:可以自动将双标签进行对称修改处理,修改一侧另一侧会自动修改;
  2. Live Server:可以让我们修改后的HTML界面,直接在网页中查看变化,不再需要手动刷新网页了;
  3. view-in-browser:让我们一键打开浏览器,查看HTML网页效果。

通过输入!然后按回车,可以让我们快速自动生成HTML代码框架:

请添加图片描述

下面我将对其中的字段进行一个简单的介绍:

  1. <!DOCTYPE html>:一个文档类型说明,告诉浏览器当前HTML文档使用的是HTML5规范;
  2. <html lang="en">:告诉浏览器,当前文档中主要内容是英文;
  3. <meta charset="UTF-8">:文档的字符编码采用的是UTF-8
  4. <meta name="viewport" content="width=device-width, initial-scale=1.0">:是关于移动设备适配使用的。

二. HTML文本标签

以下是一张关于常见文本标签的列表:

名称说明
标题<h1>标题名</h1>通过修改数字,来指定标签级别
段落<p>内容</p>
加粗<strong>内容</strong><b></b>
倾斜<em>内容</em><i></i>
删除线<del>内容</del><s></s>
下划线<ins>内容</ins><u></u>

2.1 标题标签

  • 语法:<h1>标题名称</h1>:一级标签;
  • <h2>,<h3>...<h6>,最多可以到六级标题。

效果演示:

<body><h1>这是一个一级标题</h1><h2>这是一个二级标题</h2><h3>这是一个三级标题</h3><h4>这是一个四级标题</h4><h5>这是一个五级标题</h5><h6>这是一个六级标题</h6></body>
请添加图片描述

2.2 段落标签

  • 语法:<p>段落内容</p>,段落标签属于块标签,不会和其他标签内容共占一行。
<body><p>这是第一段</p><p>这是第二段</p><p>这是第三段</p></body>
请添加图片描述

如果一个段落中内容过长,可能会导致一个段落占据多行的情况,比如下面:

请添加图片描述

此时如果我们想要在一个段落的中间对内容进行换行操作,此时就可以使用换行标签

<br>/ 

这是一个单标签,专门用来进行换行操作的:

<body><p>这是第一段,这是第一段,这里有一个换行标签<br/>,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段,这是第一段</p><p>这是第二段</p><p>这是第三段</p></body>
请添加图片描述

2.3 强调标签

2.3.1 加粗

  • 语法:<strong>内容</strong><b>内容</b>,该标签属于行内标签;

效果演示:

<body><strong>第一个加粗字段</strong><strong>第二个加粗字段</strong></body>
请添加图片描述
  • <strong><b>标签都能让文本在视觉上呈现 “加粗” 效果,它们的核心区别在于 “语义”(含义)
  • <strong>是对语义化的 “强调重要性”,而<b>仅仅是进行加粗操作;比如:屏幕阅读器(帮助视障用户浏览网页的工具)会通过语调变化强调<strong>包裹的内容,让用户感知到其重要性;

2.3.2 倾斜

  • 语法:<em>内容</em><i>内容</i>,该标签与上面标签一样,也是一个行内标签。

效果演示:

<body><em>第一个倾斜字段</em><em>第二个倾斜字段</em></body>
请添加图片描述

2.3.3 删除线

  • 语法:<del>内容</del><s>内容</s>是一个行内标签。

效果演示:

<body><del>第一个删除线</del><del>第二个删除线</del></body>
请添加图片描述

2.3.4 下划线

  • 语法:<ins>内容</ins><u>内容</u>是一个行内标签。
<body><ins>第一个下划线</ins><ins>第二个下划线</ins></body>
请添加图片描述

三. 媒体与交互标签

此处重点介绍两个:

名称说明
图片<img>
超链接<a></a>

3.1 图片标签

  • 语法:<img src="图片路径">

关于图片标签有很多可以进行设置的属性,下面进行重点介绍:

属性说明
src图片路径
alt图片路径不对时,显示的文案提示
title提示文本,鼠标放在图片上,进行提示
height/width图片的高度/宽度
border图片边框大小
对于alt效果演示:
<body><imgsrc="./"alt="没有找到图片"></body>
请添加图片描述
  • height , width , border的单位都是px,并且对于height, width来说,一般只设置一个,另一个会等比例进行缩放。

对于title , height , width , border效果演示:

<body><imgsrc="./头像.jpg"height="100px"title="这是一个头像"border="1px"></body>
请添加图片描述

3.2 超链接标签

  • 语法:<a>跳转提示</a>.

与图片一样,超链接标签也有一些属性可以进行设置:

属性说明
href超链接跳转的地址
target跳转的方式,_self本页面跳转,_blank新标签页打开
效果演示:
<body><ahref="https://banju.blog.ZEEKLOG.net/"target="_blank">点击,跳转到我的主页</a></body>
  • 关于<a>标签中间的内容,不仅仅可以是文字,也可以是图片。

四. 表格标签

表格标签就是<table></table>但是其内部又衍生出来了,很多标签:

名称说明
表格属于容器,<table>内容</table>
表格中的一行属于容器,<tr>内容</tr>
一个单元格<td>内容</td>
指定表格头部区域属于容器,<thead>内容</thead>
表头单元格默认会居中加粗,<th>内容</th>

4.1 表格的使用

表格标签使用起来,相对复杂一点,一下是一个使用方法演示:

<body><table><thead><th>姓名</th><th>年龄</th><th>性别</th></thead><tr><td>张三</td><td>17</td><td>女</td></tr><tr><td>李四</td><td>34</td><td>男</td></tr><tr><td>王五</td><td>31</td><td>男</td></tr></table></body>

效果演示:

请添加图片描述
  1. 其中的<table></table>表示一个容器,中间存放的内容都属于有一个表格内容;
  2. <thead></thead>表示表格的头部区域,th是表示头部的每一个单元格;
  3. <tr></tr>表示表格的每一行,而<td></td>则是表格一行中的每一单元格。

4.2 表格的属性

对于表格来说,也有一些常用的属性可以进行设置:

属性说明
cellspacing每个单元格之间的距离
cellpadding内容距离边框的距离,默认是1
当然表格也可以设置边框。

效果演示:

<body><tableborder="1px"cellspacing="0"cellpadding="10"><thead><th>姓名</th><th>年龄</th><th>性别</th></thead><tr><td>张三</td><td>17</td><td>女</td></tr><tr><td>李四</td><td>34</td><td>男</td></tr><tr><td>王五</td><td>31</td><td>男</td></tr></table></body>
请添加图片描述

五. 列表标签

名称说明
无序列表容器<ul>...</ul>
有序列表容器<ol>...</ol>
列表项<li>...</li>
自定义列表容器<dl>...</dl>
自定义列表解释项<dt>...</dt>
自定义列表说明项<dd>...</dd>
  • 无序列表:<ul>(容器)+ <li>(列表项)
  • 有序列表:<ol>(容器)+ <li>(列表项)
  • 定义列表:<dl>(容器)+ <dt>(术语)+ <dd>(解释)

5.1 无序列表

  • 无序列表:<ul>(容器)+ <li>(列表项)
    效果演示:
<body><ul><li>内容1</li><li>内容2</li><li>内容3</li></ul></body>
请添加图片描述

对于无序列表,有一个经常设置的属性:

  • type:表示列表项目前面符号的内容,有三个:disc实心圆,square方块,circle空心圆。

5.2 有序列表

  • 有序列表:<ol>(容器)+ <li>(列表项)
    使用方法与上面类似,此处就不进行展示了。
  1. 其中可以对列表起始位置的数值进行设置:start=
  2. 也可以设置顺序列表排列的符号类型:type=,可以选择1使用数字,a使用小写字母,A使用大写字母,i使用小写阿拉伯数字,I使用大写阿拉伯数字。

5.3 自定义列表

  • 定义列表:<dl>(容器)+ <dt>(术语)+ <dd>(解释)
<body><dl><dt>这是一个自定义列表</dt><dd>内容1</dd><dd>内容2</dd><dd>内容3</dd></dl></body>
请添加图片描述

六. 表单标签

可以使用表单标签实现与服务器进行交互。

名称说明
表单域,容器<from>...</from>
输入控件<input>...
下拉菜单<select>...</select>
下拉选项<option>...</option>
多行文本<textarea></textaarea>

6.1 表单容器标签

<form>唯一的表单容器标签,通过属性控制表单行为:

  • action:指定表单数据提交的服务器地址(URL);
  • method:指定提交方式(getpost);

6.2 输入控件标签

6.2.1 输入框

  • 语法:input

其中关于输入,可以输入很多类型,通过type=属性进行控制:

  1. 文本输入:text输入单行文本, password输入密码:
    效果演示:
<body><formaction=""> 账号<inputtype="text"><br/> 密码<inputtype="password"></form></body>
请添加图片描述
  1. 数值输入:type="number"(仅允许数字)、type="range"(滑块选择数值);
<body><formaction=""> 年龄<inputtype="number"><br/> 1<inputtype="range">100 </form></body>
请添加图片描述
  1. 媒体输入:type="file"(文件上传)、type="image"(图片按钮,可提交表单),该属性比较简单,此处就不再进行演示了;
  2. 选择输入:type="radio"(单选按钮,互斥选择),type="checkbox"(复选框,可多选);
<body><formaction=""> 性别:<inputtype="radio">男<inputtype="radio">女 </form></body>
请添加图片描述

此时就可以进行选择了,当时如果直接这样进行设置,两个可以同时进行选择,但是我们希望的是只能选择一个。

  • 此时就需要对数据框进行唯一标识,使用name=来让两个选项具有一个标识;
  • 还可以使用checked来让一个作为默认选项。
<body><formaction=""> 性别:<inputtype="radio"name="gender"checked="checked">男<inputtype="radio"name="gender">女 </form></body>

当然也可以使用ckeckbox表示多选。

6.2.2 多行文本输入

  • 语法:使用<textarea></textarea>

其中可以设置文本框的宽度和高度,使用cols/rows

效果演示:

<body><formaction=""><textareaname=""id=""cols="30"rows="10">请输入内容....</textarea></form></body>
请添加图片描述

6.2.3 下拉选择器

  • 语法:使用<select></select>来进行实现,其中<option></option>表示对应的选项。

效果演示:

<body><formaction=""><selectname=""id=""><optionvalue="">选项1</option><optionvalue="">选项2</option><optionvalue="">选项3</option><optionvalue="">选项4</option></select></form></body>
请添加图片描述

6.3 表单辅助标签

标签关联:<label>

  • 为表单控件绑定文本说明,点击文本可聚焦到对应的控件(尤其适合复选框、单选按钮),通过 for 属性与控件的 id 关联。

例如,上面我们写的性别选择:

<body><formaction=""> 性别:<inputtype="radio"name="gender"checked="checked">男<inputtype="radio"name="gender">女 </form></body>

现在如果我们希望,在点击中文汉字的时候也能进行也能实现选择,就可以使用lable来进行实现。

<body><formaction=""> 性别: <inputtype="radio"name="gender"checked="checked"id="male"><labelfor="male">男</label><inputtype="radio"name="gender"id="female"><labelfor="female">女</label></form></body>

6.4 按钮标签

**<button>**最灵活的按钮,可包含文本、图标等内容,通过 type 属性定义行为:

  • type="submit":默认值,点击提交表单;
  • type="reset":点击重置表单(清空输入);
  • type="button":无默认行为,需配合脚本使用(如弹窗)。

关于按钮标签,要搭配JS进行使用,后续会专门写一篇博客讲JS。

<body><formaction=""><buttontype="button">一个按钮</button><buttontype="submit">现在提交</button><buttontype="reset">重置</button></form></body>

七. 无语义标签

无语义标签分为两种:<div></div><span></span>

其中<div>是块标签,独占一行,而<span>是行内标签,不独占一行。

  • 无语义标签没有固定的用途,可以该标签做任何事情,一般负责网页布局。

下面补充几个HTML中的特殊字符:

  1. &nbsp:空格,在HTML中多个空格相连,浏览器会将其合并为一个,所以可以使用&nbsp来保证多个空格同时显示;
  2. &li:小于符号;
  3. &gt:大于符号;
  4. amp:按位与符号。

Read more

宏智树AI:ChatGPT学术版驱动,重塑学术写作新生态

宏智树AI:ChatGPT学术版驱动,重塑学术写作新生态

在学术研究的赛道上,低效的文献梳理、繁琐的数据处理、严苛的学术规范,常让科研工作者与高校师生陷入创作困境。宏智树AI(官网:www.hzsxueshu.com),一款由ChatGPT学术版模型深度驱动、搭载AI5.0技术架构的专业学术智能解决方案平台,专为论文写作场景量身打造,以“全流程覆盖、高精准赋能、强合规保障”为核心,构建从大纲生成到定稿答辩的一站式学术服务体系,让学术创作告别低效内耗,回归研究本质。 一、顶尖技术底座:AI5.0+ChatGPT学术版,定义智能学术新高度 宏智树AI的核心竞争力,源于业内领先的双重技术赋能,打破传统学术工具的性能边界,实现从“文字生成”到“学术赋能”的跨越式升级。 ChatGPT学术版模型赋予平台精准的语义理解与逻辑推理能力,深度契合文、理、工、医等全学科学术写作范式,杜绝口语化、散文化表达,让文本兼具严谨性与可读性;AI5.0技术架构则实现多模态数据原生一体化处理,将文本、数据、图表、公式等学术元素深度融合,

使用飞算JavaAI快速搭建药房管理系统

使用飞算JavaAI快速搭建药房管理系统

使用飞算JavaAI快速搭建药房管理系统 飞算JavaAI炫技赛主题(毕设):使用飞算JavaAI快速搭建药房管理系统。 技术选型方案 采用Spring Boot + MyBatis Plus + MySQL + Redis的技术架构组合: 使用Spring Boot作为主框架提供快速开发和自动配置能力 集成Spring Security + JWT实现用户认证和细粒度权限控制 数据持久层采用MyBatis Plus简化药品、库存、处方的CRUD操作和复杂查询 MySQL 8.0作为主数据库存储药品信息、库存记录、处方数据、供应商信息等核心业务数据 Redis用于缓存热点数据(如药品目录、库存状态、用户会话)和实现分布式锁机制 同时整合Swagger生成API文档,使用Maven进行项目依赖管理 飞算JavaAI开发实录 接下来我会使用智能引导功能来一步一步的完成整个系统的搭建。 1.需求分析与规划 采用Spring Boot + MyBatis Plus + MySQL + Redis技术架构,实现药品库存管理、供应商管理、处方审核处理、药品销售管理和财务统计分析等核心功能

分享|2025年人工智能训练师报考全解析:条件、流程、补贴政策一览

分享|2025年人工智能训练师报考全解析:条件、流程、补贴政策一览

2021 年 11 月,《人工智能训练师》职业技能标准正式发布,意味着这个职业有了明确的 “成长说明书”。而到了 2024 年 4 月,广州直接把它放进 “紧缺急需职业目录。相关岗位的人才缺口越来越大,持有证书无疑能让你在求职路上快人一步。 一、“人工智能训练师”是什么?    根据人工智能训练师国家职业技能标准(2021年版)的定义,人工智能训练师是指“使用智能训练软件,在人工智能产品使用过程中进行数据库管理、算法参数设置、人机交互设计、性能测试跟踪及其他辅助作业的人员”。 二、“人工智能训练师”等级怎么划分?     人工智能训练师分为五个等级,从初级高级,可以根据个人经验选择报考。评上初级证书,证明申报者能力可胜任数据采集员、数据标注员等初级工作。而评上最高级认定,则证明申报者具备从事人工智能高级产品经理、人工智能架构工程师、首席技术官(CTO)、高级算法工程师等高级职位的能力。 1. 五级/初级工:特别适合刚入门的新手,只要掌握数据采集、清洗,

OpenClaw(龙虾)开源AI智能体科普解析:核心原理、功能特性与本地部署教程

OpenClaw(龙虾)开源AI智能体科普解析:核心原理、功能特性与本地部署教程

近期开源AI领域,OpenClaw(俗称“龙虾”)凭借其本地优先、可定制的特性,受到开发者社区的广泛关注,其项目保活程度与社区活跃度可通过GitHub数据直观体现:目前该项目已获得222k stars、1.2k watching、42.3k forks,各项数据均处于开源AI智能体领域前列,足以证明其社区认可度与持续更新能力。作为一款开源AI智能体工具,它在办公自动化、系统辅助等场景具有实用价值,适合开发者了解和落地实践。 OpenClaw是一款开源的个人AI助手编排平台,采用TypeScript开发,目前在GitHub上拥有较高的关注度,其核心价值在于将大模型的推理能力与本地系统操作相结合,打破了传统AI助手“仅能交互、无法执行”的局限。本文将从技术科普角度,围绕OpenClaw的核心定义、功能特性、技术细节及本地部署步骤展开,帮助开发者全面了解这款工具的原理与使用方法。 对于ZEEKLOG的开发者群体而言,了解OpenClaw的技术架构与应用场景,既能拓展AI智能体的认知边界,也能将其应用于日常开发、办公场景,提升工作效率。 本文将从「核心定义、功能特性、技术细节、本地部署」