【前端小站】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

# 2026年3月科技圈大事件盘点:AI智能体爆发、芯片战争升级与行业大洗牌

英伟达GTC大会开幕、马斯克造芯、Meta大裁员、OpenClaw爆火——这个3月,科技圈没有平静的一天。 2026年3月的科技圈,用“炸裂”来形容毫不为过。从英伟达年度技术盛会的开幕,到马斯克宣布进军芯片制造;从开源AI智能体席卷全球,到科技巨头裁员潮再起——每一天都有重磅消息刷新着行业认知。 作为开发者,我们正站在一个技术变革的关键节点:AI正从“会聊天”走向“会干活”,芯片战争进入白热化阶段,而整个行业的格局也在悄然重塑。 01 英伟达GTC 2026:从算力供应商到AI生态主导者 3月16日,英伟达GTC 2026大会在美国加州圣何塞正式开幕,CEO黄仁勋的主题演讲成为全球AI从业者的焦点。 NemoClaw开源AI智能体平台的发布标志着英伟达战略的重大转变。这个企业级AI Agent平台具有三大特性:硬件无关性(可在AMD、英特尔等芯片上运行)、内置安全层、生态开放。 英伟达不再满足于仅仅提供GPU算力,而是试图控制AI Agent的基础设施层,成为智能体时代的“操作系统”。 Feynman芯片架构的披露同样引人注目。采用台积电1.6纳米A16制程,引入光通信

阿里出了个 AI JetBrains 编程插件 Qoder,使用了一周,值得上车

阿里出了个 AI JetBrains 编程插件 Qoder,使用了一周,值得上车

上周在群里看到有人说阿里出了个叫 Qoder 的 AI 编程工具,说是直接支持 JetBrains 全系 IDE,不用再装 Cursor 切来切去了。我平时写后端用的就是 IntelliJ IDEA,当时就去下了一个试试。用了一周,把能测的功能基本过了一遍,这篇文章把我的真实情况写出来,顺便把安装怎么做也说清楚。 — Qoder 是什么,和通义灵码有什么关系 先把这个问题说清楚,因为很多人第一反应是:阿里不是已经有通义灵码了吗,又出一个? 这两个确实都是阿里做的,但不是一回事。通义灵码是早期的阿里 AI 编程工具,定位是代码补全和问答助手,功能相对基础;Qoder 是 2025 年 8 月 22 日对外正式发布的新产品,定位是"Agentic 编码平台",面向海外开发者,走的是另一条路线。 官方的说法是,

【AI】谷歌TurboQuant算法:内存占用减少至少6倍

谷歌在2026年3月25日发布了一项名为 TurboQuant 的突破性压缩算法,它可以在不损失任何模型精度的前提下,将AI大模型运行时的关键内存占用(KV缓存)减少至少6倍,同时将推理速度提升最高8倍。 这一技术突破引发了硅谷和华尔街的广泛关注,甚至让美光、西部数据等存储芯片巨头的股价应声下跌。下面为你详细拆解这项技术: 🚀 TurboQuant核心技术速览 技术指标具体数据说明内存压缩比至少6倍将KV缓存压缩至3-bit精度,相比传统16/32-bit存储推理加速最高8倍在H100 GPU上4-bit TurboQuant vs 32-bit未量化基线精度影响零损失在"大海捞针"等长上下文测试中保持完美分数部署门槛无需训练无需预训练或微调,即插即用应用范围KV缓存压缩 + 向量搜索解决推理内存瓶颈,同时提升语义搜索引擎效率 🔧 核心技术原理:两步"绝杀" 要理解TurboQuant为什么重要,先要明白它解决的是什么问题。大模型推理时,会把历史信息临时存在 KV缓存 中以便快速调用。当上下文窗口从4K扩展到百万级时,KV缓存会迅速膨胀,成为AI推理最大的内存瓶颈

ToDesk推出ToClaw:让AI Agent真正走进你的日常工作流

ToDesk推出ToClaw:让AI Agent真正走进你的日常工作流

2026开年,中文互联网最热的AI关键词之一,非“OpenClaw”莫属。这款开源AI助手在技术圈掀起热潮,让越来越多人意识到:AI不该只负责聊天,它应该开始替人干活。但问题也随之而来——复杂的Python环境配置、繁琐的API部署、全英文的文档,将大多数普通用户挡在了门外。 就在今天,国民级远控软件ToDesk给出了自己的答案:ToClaw。它不是另一个需要单独下载的新软件,而是完全封装在最新版ToDesk里的AI助手。打开ToDesk,左侧AI入口就能找到它——免安装、免部署,可直接体验。 从“装环境”到“直接干活”,零门槛的AI助理 如果你折腾过OpenClaw,就会知道它的魅力和门槛几乎是同时出现的。魅力在于它真的是Agent,能执行任务而不只是聊天;门槛在于你要先理解安装、模型、渠道、权限、运行环境,甚至还得接受“先踩坑,再用起来”的现实。 ToClaw走的是另一条路。 打开之后,不是黑乎乎的终端,也不是一堆配置文件,而是一个非常直接的桌面助手界面:输入框、场景入口、技能页、