跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
HTML / CSS大前端

HTML 基础语法与常用标签详解

介绍 HTML 超文本标记语言的基础知识,包括文件创建方式(IDEA/VScode)、基本结构(html/head/body)、常用标签(标题、段落、换行、图片、链接、表格、表单、列表)及无语义标签(div/span)。通过用户登录界面综合练习巩固表单与布局知识,适合前端初学者快速掌握 HTML 核心语法。

内存管理发布于 2026/4/5更新于 2026/5/2331 浏览
HTML 基础语法与常用标签详解

HTML 的介绍

HTML(Hyper Text Markup Language),超文本标记语言。

超文本:比文本的功能要强大,通过链接和交互式的方式来组织与呈现信息的文本形式。不仅仅有文本,还可以包含图片、音频等。

标记语言:由标签构成的语言。所有的代码都是包含标签的。这些标签都是提前定义好的,不同的标签拥有不同的含义,可以表示不同的内容。就类似于 Markdown 语法一样,使用不同键有不同的功能。

学习 HTML,就是在学习这些标签的含义与使用。

如何创建 HTML 文件

编写 HTML 代码,可以使用 IDEA 或 VScode。

  1. 如果是继续使用 IDEA 的话,分两种情况:

一、如果是专业版,就可以直接在 IDEA 上面创建 HTML 文件,然后开始编写 HTML 代码。

下面是专业版创建 HTML 文件的步骤:

(1)创建 HTML 工程:

文章配图

(2)创建具体的 HTML 文件:

文章配图

在上述步骤完成之后,会弹出一个界面。

文章配图

在上一步取完名字之后,摁回车键,就会生成下面的信息:

文章配图

上述就是一个最基本的 HTML 文件了。

二、如果是社区版,就需要下载一些插件来配合使用。

例如,'HTML Tools'等。

  1. 如果是使用 VScode 的话,就是直接将其下载下来之后,在文件夹中,创建一个.html 为后缀的文件,然后在 VScode 中打开,去编写代码即可(可以使用 ! + 回车,就会自动补全代码,出现下面这样的情景)。

文章配图

HTML 文件基本结构

文章配图

标签与标签之间也是有关系的。

head 标签 与 body 标签 都是 html 标签的子标签,反观,html 标签就是它们的父标签,而它们两个相互之间都是兄弟标签。这些关系是可以通过相互之间是否包含看出来的,html 标签是包含了 head 标签与 body 标签,而 head 标签与 body 标签相互之间是无包含关系的,也就是平等的关系。

HTML 常用标签

下面我们就来学习具体的标签。

title 标签

title 标签是一个页面名标签。我们可以往 title 标签内输入内容,这些内容通过运行,就会展示在浏览器的页面标题中。

文章配图

标题标签 h1-h6

标题标签就和我们在阅读文章时,所看到的标题类似。因为标题标签是在页面内部的,因此标题标签所处的位置是在 body 部分的。

文章配图

注意:一共只有六级标题,当我们写了七级或者八级标题之后,虽然语法是错误的,但是浏览器能够正常的显示出来,也就是不会报错。浏览器会将错误的标题标签当成一个普通内容。

文章配图

段落标签 p

在 HTML 中,段落,换行符,空格都会失效,如果需要分成段落,需要使用专门的标签。

文章配图

文章配图

文章配图

注意:

  1. p 标签描述的段落,前面没有缩进。
  2. html 内容首尾处的换行,空格均无效。
  3. 在 html 中文字之间输入的多个空格只相当于一个空格。
  4. html 中直接输入换行不会真的换行,而是相当于一个空格。

换行标签 br

想要完成换行的话,也可以通过
标签来实现,br 是一个单标签 (不需要结束标签)。

文章配图

图片标签 img

img 标签必须带有 src 属性,表示图片的路径。这里的路径可以是相对路径也可以是绝对路径。

注意:这里的绝对路径指的是网络中的路径,而不是在文件操作中学习的绝对路径。例如,下面这种就是网络路径。

文章配图

这里虽然将图片加载出来了,但是尺寸是过大的,我们得去缩小这个尺寸。

width / height:控制宽度高度。高度和宽度一般改一个就行,另外一个会等比例缩放。如果两个都改可能会出现图像失衡的情况。

文章配图

我们也可以加上 alt 属性,当图像无法显示时,浏览器会显示 alt 属性中的文本内容来替代图像。

文章配图

注意:属性之间使用空格来分隔。

超链接 a

<a href="https://example.com">个人主页</a> <!-- href,代表点击后跳转的页面 --> <!-- target,打开方式,默认是_self,如果是_blank,则是打开新的标签页 -->

运行结果:

文章配图

链接分为三种:外部链接、内部链接、空链接。

外部链接是指跳转到当前网站的以外的页面;例如,百度跳转其他网站。上面的情况属于外部链接。

内部链接是指跳转到当前网站的本地页面;例如,百度跳转百度。

空链接是指跳转之后的页面为空。

文章配图

内部链接其实本质与相对路径的写法差不多。

空链接是直接使用 # 来当作占位符的。

文章配图

点击该链接通常会导致页面跳转到当前页面的顶部,不会跳转到其他页面去。

表格标签 table

table 标签 表示整个表格,tr 表示表格的一行,td 表示一个单元格,thead 表示表格的头部区域,tbody 表示表格的主体区域。table 由 tr 组成,tr 由 td 组成。

<table>
  <tr>
    <td>姓名</td>
    <td>年龄</td>
    <td>专业</td>
  </tr>
  <tr>
    <td>张三</td>
    <td>18</td>
    <td>计科</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>20</td>
    <td>软工</td>
  </tr>
</table>

table 标签只是创建了一个空表格,这个表格里面的元素需要我们手动的去填充。表格是由一个一个的单元行组成,因此表格里面写上 tr 标签,单元行是由一个一个的单元格组成。

文章配图

运行结果:

文章配图

上面的表格并没有设置各种属性,只是一个雏形而已。

style 属性可以设置 width / height 的大小,border 表示边框,表示有边框 (数字越大,边框越粗,"" 表示没边框,默认也是没边框。cellspacing:单元格之间的距离,默认为 2 像素。align 设置表格相对于周围元素的对齐方式(不是内部元素的对齐方式),默认是居中对齐的。

下面使用属性来优化:

<!-- px 是像素 -->
<table style="width: 100%; border: 1px solid black;">
  <tr>
    <td>姓名</td>
    <td>年龄</td>
    <td>专业</td>
  </tr>
  <tr>
    <td>张三</td>
    <td>18</td>
    <td>计科</td>
  </tr>
  <tr>
    <td>李四</td>
    <td>20</td>
    <td>软工</td>
  </tr>
</table>

运行结果:

文章配图

上面主要是调整了长、宽,设置了边框可见,以及单元格之间的间隙。

表单标签

表单是让用户输入信息的重要途径。分为两个部分,一个是表单域,包含表单元素的区域,主要是 form 标签;另一个是表单控件,包含输入框,提交按钮等,主要是 input 标签。

input 标签

input 标签 是用来描述 各种输入控件,单行文本框,按钮,单选框,复选框等,它也是单标签。

type 属性 是用来表示当前输入框是属于哪种,是文本框,还是密码框等。

name 属性 是用来给 input 起名字,对于单选按钮来说,具有相同的 name 才能多选一。

value 属性 主要用来设置按钮的值。

checked

输入框的分类:

  1. 手动输入类:
<!-- 文本框 -->
<input type="text">
<!-- 密码框 -->
<input type="password">

运行效果:

文章配图

  1. 选择类:
<!-- 单选框:多个选项只能选一个,单选题 -->
你上课在干嘛?
<input type="radio" name="1">睡觉
<!-- name 的值是可以随便取的,但三者必须一致 -->
<input type="radio" name="1">学习
<input type="radio" name="1">看手机

<!-- 复选框:多个选项可以选多个,多选题 -->
你的爱好是什么?
<input type="checkbox">干饭
<input type="checkbox">睡觉
<input type="checkbox">玩

<!-- 普通按钮 -->
你的爱好是什么?
<input type="button" value="干饭">
<input type="button" value="睡觉">
<input type="button" value="玩">

运行效果:

文章配图

对于上图,三个我们只能选其一,但是对于下图,我们可以选两个:

文章配图

文章配图

当然因为这是多选框,即使写了 name,那也是将其分为一组,在这一组中进行多选而已。

文章配图

文章配图

上面我们是将按钮的值设置为了对应的 value,如果是设置 radio 或者 checkbox 就不会显现出来。

文章配图

对于上面的按钮,我们去点击不会有任何反应。因此我们可以设置点击有反应的按钮。

文章配图

注意:对于选择框来说,相同的 name 值,会被认为是一组的。

form 标签

对于提交类的,一般都是与 form 标签连用。

<form>
  姓名:
  <input type="text">
  <!-- 提交按钮 -->
  <input type="submit" value="提交">
</form>

提交之后,可以有页面跳转的行为,因此可以在 form 标签中添加 action 属性,后面跟上跳转之后的页面即可。

文章配图

select 标签

标签用于创建下拉列表或滚动列表。它通常与标签一起使用,标签用于定义列表中的选项。 家庭住址: <select> <option>北京</option> <option>上海</option> <option>深圳</option> <option>广州</option> </select> textarea 标签 textarea 标签用于创建一个多行文本输入框,可以通过 rows 与 cols 来指定行数与列数。 综合以上的标签,我们可以写一个有关个人简介的页面。像下面这样: 代码实现: <form action="./Demo3.html"> <!-- 用户名是文本框 --> 用户名:<input type="text"><br> <!-- 密码是密码框 --> 密码:<input type="password"><br> <!-- 性别是单选 --> 性别:<input type="radio" name="gender">男 <input type="radio" name="gender">女 <input type="radio" name="gender">保密<br> <!-- 兴趣是多选 --> 兴趣:<input type="checkbox" name="hobby">敲代码 <input type="checkbox" name="hobby">干饭 <input type="checkbox" name="hobby">睡觉 <input type="checkbox" name="hobby">以上都是<br> <!-- 专业是下拉列表 --> 专业:<select> <option>计算机科学与技术</option> <option>软件工程</option> <option>网络安全</option> <option>人工智能</option> <option>物联网</option> <option>其他</option> </select><br> <!-- 个人描述是文本域 --> 个人描述:<textarea rows="5" cols="50"></textarea><br> <!-- 提交按钮 --> <input type="submit" value="提交"> </form> 运行效果: 无语义标签 div&span 无语义 的意思就是不表示什么含义。这两个标签可以看成是两个盒子。 div 是一个大盒子,其可以独占一行;span 是一个小盒子,其不能独占一行。 注意:div 与 span 标签中是几乎可以放置 HTML 中所有的标签。 列表标签 列表标签有两种,一种是有序列表,ol;另一种是无序列表,ul。 li 标签表示的是列表项。 综合练习:用户登录 实现一个下面这样用户登录界面: 代码实现: <h1>用户注册</h1> <form action="../图片/1.jpg"> <!-- 整体可以看作是一个表格 --> <table> <!-- 用户名这一行 --> <tr> <td>用户名</td> <td><!-- 这是一个输入文本框 --><input type="text" placeholder="请输入用户名"></td> </tr> <!-- 手机号这一行 --> <tr> <td>手机号</td> <td><!-- 这也是一个输入文本框 --><input type="text" placeholder="请输入手机号"></td> </tr> <!-- 密码这一行 --> <tr> <td>密码</td> <td><input type="password" placeholder="请输入密码"></td> </tr> </table> <!-- 下面可以全部放到一个盒子里 --> <div> <input type="submit" value="注册">已有账号?<a href="#">登录</a> </div> </form> 上面用到了一个新的属性,placeholder,这是一个占位符,当输入框为空时,就会占据输入框,当用户输入时,就会消失。

目录

  1. HTML 的介绍
  2. 如何创建 HTML 文件
  3. HTML 文件基本结构
  4. HTML 常用标签
  5. title 标签
  6. 标题标签 h1-h6
  7. 段落标签 p
  8. 换行标签 br
  9. 图片标签 img
  10. 超链接 a
  11. 表格标签 table
  12. 表单标签
  13. input 标签
  14. form 标签
  15. select 标签
  16. textarea 标签
  17. 无语义标签 div&span
  18. 列表标签
  19. 综合练习:用户登录
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Java 项目 CI/CD 实战:Jenkins 与 GitLab CI 选型与优化
  • llama.cpp 加载多模态 GGUF 模型实战
  • Claude Code 模型参数配置与默认值详解
  • AI 无人机智慧巡检平台:架构、功能与应用场景
  • 从 Alpaca 到 ShareGPT:Llama Factory 数据格式全解析
  • WebRTC 播放器横向测评:H5 直播低延迟方案对比
  • ASP.NET Core 10 Blazor WebAssembly 性能优化实战
  • ASP.NET Core 主机模型详解:Host、WebHost 与 WebApplication 的对比与实践
  • Xilinx FPGA 开发:Vivado 流与 Vitis 流深度解析
  • VSCode 配置与 Python 开发环境搭建指南
  • OpenClaw Skills 安装与实战:构建 AI 技能工具箱
  • 智算云平台架构解析与 AI 模型部署实战
  • Java AI 全流程开发指南:从需求到部署
  • 【云原生】Neo4j 图数据库从搭建到项目使用深度详解
  • 英伟达GTC 2026:黄仁勋发布新推理芯片与Rubin架构,AI智能体时代开启
  • Python 入门基础教程:从环境配置到面向对象编程
  • 人脸识别核心算法:FaceNet 与 ArcFace 原理及实战
  • 前端程序员转型大模型工程师的实战指南
  • WhisperX 语音识别工具从零开始部署与配置指南
  • DeepSeek 深度使用指南:提示词技巧与本地知识库搭建

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online