news 2026/4/16 13:27:35

HTML5核心基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HTML5核心基础

你好!看文章的小伙伴,很高兴你想要学习前端!HTML5是前端三剑客之一,也是需要最先学习的内容(其余两个是CSS3、JavaScript),如果你是零基础的小白,你也完全可以在两个小时内掌握HTML5的核心基础,并能写出一个简单的网页。虽然“完全掌握”一门技术需要长期的实践,但两小时内足以让你理解其基本结构、语法和常用标签,并能动手做出几个完整的实用案例。

下面我将用清晰、通俗易懂的快速讲解,带你一步步走进HTML5的世界。

一、什么是HTML5?

  • HTML全称是HyperText Markup Language超文本标记语言)。
  • 它不是编程语言,而是一种标记语言,用标签来描述网页的结构和内容。
  • HTML5是HTML的第五个版本,是目前最主流的标准,支持多媒体、语义化标签、本地存储等新特性。

✅ 简单说:HTML5 就是搭建网页的“骨架”。

开发工具:建议VS Code(最流行,支持高亮、自动补全)。

二、HTML5的基本结构

每一个HTML5网页都遵循一个标准结构

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>网页标题</title> </head> <body> <!-- 网页内容写在这里 --> <h1>欢迎来到我的第一个网页!</h1> </body> </html>

文件后缀名是.html

<!--...-->:这个是注释,注释就是解释说明的文字。

逐行解释:

代码说明
<!DOCTYPE html>声明这是HTML5文档
<html lang="zh">根元素,lang="zh"表示语言是中文,lang="en"是表示英文
<head>存放页面元信息(不显示在页面上)
<meta charset="UTF-8">设置字符编码为UTF-8(支持中文)
<meta name="viewport"...>让网页在手机上正常显示
<title>浏览器标签页上显示的标题
<body>页面的主体内容,用户能看到的部分

浏览器显示效果

三、常用HTML5标签(重点掌握)

1. 文本标签

标签作用示例
<h1><h6>标题(h1最大)<h1>主标题</h1>
<p>段落<p>这是一段文字</p>
<strong>加粗(强调)<strong>重要</strong>
<em>斜体(强调)<em>强调</em>
<br>换行第一行<br>第二行
<hr>水平线<hr>

2. 链接与图片

标签作用示例
<a href="网址">超链接<a href="https://www.baidu.com">百度</a>
<img src="图片地址" alt="描述">图片<img src="logo.png" alt="公司logo">

3. 列表

类型标签示例
无序列表<ul><li>项目</li></ul>项目符号列表
有序列表<ol><li>项目</li></ol>数字编号列表

4. 表单(重点)

什么是 HTML 表单?

  • 表单(Form)是网页中用于收集用户数据的区域。
  • 用户可以在表单中输入文本、选择选项、上传文件等。
  • 提交后,数据会发送到服务器进行处理(如保存到数据库、发送邮件等)。

✅ 简单说:表单就是网页上的“填写框 + 提交按钮”。

表单的基本结构

所有表单都用<form>标签包裹:

<form action="/submit" method="POST"> <!-- 表单控件写在这里 --> <label for="username">用户名:</label> <input type="text" id="username" name="username"> <button type="submit">提交</button> </form>

浏览器显示效果

关键属性解释:

属性说明
action表单提交的目标 URL(服务器地址)
method提交方式,常用GETPOST
  • method="GET":数据会显示在 URL 中(如?name=小明),适合搜索。
  • method="POST":数据隐藏发送,更安全,适合登录、注册。

常用表单控件(输入元素)

每个输入框都用input或其他标签创建。

  1. 文本输入框<input type="text">

    <input type="text" name="username" placeholder="请输入用户名">
    • name:提交时的字段名(必须设置!)。
    • placeholder:提示文字(灰色)。
    • value:默认值。
  2. 密码框<input type="password">

    <input type="password" name="password" placeholder="请输入密码">
    • 输入内容显示为••••••
    • 同样需要name属性。
  3. 单选框<input type="radio">

    用于单选(只能选一个):

    <p>性别:</p> <input type="radio" id="male" name="gender" value="male"> <label for="male">男</label> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label>
    • name必须相同,才能互斥。
    • value是提交的值。
    • label关联点击更友好。
  4. 复选框<input type="checkbox">
    用于多选

    <p>兴趣爱好:</p> <input type="checkbox" id="read" name="hobby" value="reading"> <label for="read">阅读</label> <input type="checkbox" id="code" name="hobby" value="coding"> <label for="code">编程</label>

    注意:多个checkbox如果name相同,提交时会以数组形式发送(如hobby=reading&hobby=coding)。

  5. 下拉菜单<select>

    <label for="city">所在城市:</label> <select id="city" name="city"> <option value="">请选择城市</option> <option value="beijing">北京</option> <option value="shanghai">上海</option> <option value="guangzhou">广州</option> </select>
    • option是选项。
    • 第一个value=""通常是默认提示。
    • 可加selected属性设置默认选中。
  6. 多行文本<textarea>

    用于输入大段文字:

    <label for="message">留言:</label> <textarea id="message" name="message" rows="5" placeholder="请输入留言"></textarea>
    • rows:显示行数。
    • cols:列数(可省略,用 CSS 控制更好)。
  7. 文件上传<input type="file">

    <label for="avatar">上传头像:</label> <input type="file" id="avatar" name="avatar" accept="image/*">
    • accept="image/*"限制只选图片。
    • accept=".pdf"可限制文件类型。
  8. 日期选择<input type="date">

    <label for="birthday">生日:</label> <input type="date" id="birthday" name="birthday">

    浏览器会自动弹出日期选择器。

    其他类型:

    • time:时间。
    • datetime-local:日期+时间。
    • month:年月。
    • week:周。
  9. 数字输入<input type="number">

    <label for="age">年龄:</label> <input type="number" id="age" name="age" min="1" max="120">
    • min/max限制范围。
    • 带上下箭头调节。
  10. 邮箱、网址、电话

    <input type="email" name="email" placeholder="请输入邮箱"> <input type="url" name="website" placeholder="请输入网址"> <input type="tel" name="phone" placeholder="请输入电话">
    • 浏览器会自动检查格式是否正确。
    • 在手机上会弹出对应键盘(如邮箱键盘)。

<label>标签的重要性

<label>用于关联表单控件,提升用户体验和可访问性。

<input type="checkbox" id="agree" name="agree" value="yes"> <label for="agree">我同意用户协议</label>
  • for属性值 = 输入框的id
  • 点击文字也能选中单选框或复选框。
  • 对屏幕阅读器(视障用户)非常友好。

表单验证(HTML5原生验证

HTML5 支持无需 JavaScript 的简单验证

  1. 必填字段required

    <input type="text" name="username" required>
    • 用户不填就无法提交。
    • 浏览器会提示“请填写此字段”。
  2. 最小/最大的长度

    <input type="text" name="username" minlength="3" maxlength="20">
  3. 正则验证pattern

    <input type="text" name="username" pattern="[a-zA-Z0-9]+" title="只能输入字母和数字">
    • pattern接收正则表达式。
    • title是错误提示。

实战小案例:用户注册表单

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>用户注册</title> </head> <body> <h1>用户注册</h1> <form action="/register" method="POST"> <!-- 用户名 --> <p> <label for="username">用户名:</label> <input type="text" id="username" name="username" required minlength="3" placeholder="3-20位字母或数字"> </p> <!-- 密码 --> <p> <label for="password">密码:</label> <input type="password" id="password" name="password" required minlength="6"> </p> <!-- 邮箱 --> <p> <label for="email">邮箱:</label> <input type="email" id="email" name="email" required> </p> <!-- 性别 --> <p> <label>性别:</label> <input type="radio" id="male" name="gender" value="male" checked> <label for="male">男</label> <input type="radio" id="female" name="gender" value="female"> <label for="female">女</label> </p> <!-- 城市 --> <p> <label for="city">城市:</label> <select id="city" name="city"> <option value="">请选择</option> <option value="beijing">北京</option> <option value="shanghai">上海</option> <option value="shenzhen">深圳</option> </select> </p> <!-- 兴趣爱好 --> <p> <label>兴趣爱好:</label><br> <input type="checkbox" id="read" name="hobby" value="reading"> <label for="read">阅读</label><br> <input type="checkbox" id="code" name="hobby" value="coding"> <label for="code">编程</label><br> <input type="checkbox" id="travel" name="hobby" value="travel"> <label for="travel">旅行</label> </p> <!-- 留言 --> <p> <label for="bio">个人简介:</label><br> <textarea id="bio" name="bio" rows="3" placeholder="介绍一下自己吧"></textarea> </p> <!-- 同意协议 --> <p> <input type="checkbox" id="agree" name="agree" required> <label for="agree">我同意<a href="#">用户协议</a></label> </p> <!-- 提交按钮 --> <p> <button type="submit">注册</button> <button type="reset">重置</button> </p> </form> </body> </html>

浏览器显示效果

5. 语义化标签(HTML5新增,非常重要!)

HTML5 引入了语义化标签,让代码更清晰,对SEO搜索引擎优化)和可访问性更好:

标签含义
<header>页眉
<nav>导航栏
<main>主要内容
<section>内容区块
<article>独立文章
<aside>侧边栏
<footer>页脚

四、实战案例(3个完整例子)

案例1:最简单的HTML5页面

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>我的第一个网页</title> </head> <body> <h1>你好,世界!</h1> <p>这是我的第一个HTML5页面。</p> <p>我用了<strong>加粗</strong>和<em>斜体</em>。</p> <hr> <p>下面是我的兴趣爱好:</p> <ul> <li>阅读</li> <li>编程</li> <li>旅行</li> </ul> </body> </html>

保存为hello.html,双击打开即可在浏览器中查看!

案例2:带图片和链接的个人简介页

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>我的个人主页</title> </head> <body> <header> <h1>张小明的个人主页</h1> <nav> <a href="#about">关于我</a> | <a href="#skills">技能</a> | <a href="#contact">联系我</a> </nav> </header> <main> <section id="about"> <h2>关于我</h2> <img src="https://via.placeholder.com/150" alt="头像"> <p>我是一名热爱学习的编程初学者,正在努力掌握前端技术。</p> </section> <section id="skills"> <h2>我的技能</h2> <ol> <li>HTML5</li> <li>CSS3(正在学习)</li> <li>JavaScript(入门中)</li> </ol> </section> <article id="contact"> <h2>联系我</h2> <p>邮箱:<a href="mailto:burgess@example.com">burgess@example.com</a></p> <p>GitHub: <a href="https://github.com" target="_blank">我的GitHub</a></p> </article> </main> <footer> <p>&copy; 2025 burgess. 版权所有。</p> </footer> </body> </html>

说明:

  • id="about"配合<a href="#about">实现页面内跳转
  • target="_blank"让链接在新标签页打开
  • mailto:可以打开邮箱客户端
  • 图片使用了占位图链接(实际使用时替换为真实图片路径)

案例3:语义化新闻文章页

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>科技新闻 - 前端开发新趋势</title> </head> <body> <header> <h1>科技前沿</h1> <nav> <a href="#">首页</a> | <a href="#">AI</a> | <a href="#">前端</a> | <a href="#">后端</a> </nav> </header> <main> <article> <header> <h2>前端开发新趋势:2025年值得关注的技术</h2> <p>发布于:2025年10月20日 | 作者:科技小编</p> </header> <section> <h3>1. 组件化开发</h3> <p>React、Vue等框架让开发更高效。</p> </section> <section> <h3>2. WebAssembly</h3> <p>让C++、Rust代码在浏览器中运行,性能飞跃。</p> </section> <footer> <p>本文为原创,转载请注明出处。</p> </footer> </article> <aside> <h3>推荐阅读</h3> <ul> <li><a href="#">JavaScript高级技巧</a></li> <li><a href="#">CSS布局完全指南</a></li> </ul> </aside> </main> <footer> <p>&copy; 2025 科技新闻网. All rights reserved.</p> </footer> </body> </html>

练习

  1. 复制上面的代码。
  2. 保存为.html文件(如myweb.html)。
  3. 双击文件,用浏览器打开。
  4. 修改内容,看效果变化。
  5. 尝试添加新标签(如<video><audio>)。

video是视频标签、<audio>是音频标签。

video基本用法:

<video src="movie.mp4" controls width="600"> 这是视频标签 </video>
属性作用示例
src视频文件的路径(本地或网络)src="video.mp4"
controls显示播放控件(播放/暂停、音量、进度条)必加,否则无法操作
width/height设置视频尺寸(单位:像素)width="800"
autoplay自动播放(注意:大多数浏览器禁止无声自动播放autoplay
loop循环播放loop
muted静音(常与autoplay一起用,绕过自动播放限制)muted
poster视频未播放时的封面图poster="cover.jpg"

<audio>基本用法:

<audio src="music.mp3" controls> 这是音频标签 </audio>
src音频文件路径src="song.mp3"
controls显示播放控件(必须加)controls
autoplay自动播放autoplay(移动端通常禁止)
loop循环播放loop
muted静音muted

五、下一步学什么?

掌握了HTML5后,你可以继续学习:

  • CSS3:给网页“穿衣服”(美化样式)。
  • JavaScript:让网页“动起来”(交互功能)。
  • 响应式设计:让网页在手机和电脑都好看。

总结

你已经学会了:

  • HTML5是什么。
  • 基本文档结构。
  • 常用标签(标题、段落、图片、链接、列表、表单等)。
  • 语义化标签(<header>,<nav>,<main>,<footer>等)。
  • 如何写出完整的网页。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:36:32

AI开发者必读:Qwen2.5-7B开源模型部署趋势与优化策略

AI开发者必读&#xff1a;Qwen2.5-7B开源模型部署趋势与优化策略 1. Qwen2.5-7B 模型技术全景解析 1.1 模型背景与核心定位 随着大语言模型&#xff08;LLM&#xff09;在自然语言理解、代码生成和多模态任务中的广泛应用&#xff0c;阿里云推出的 Qwen2.5 系列 成为当前最具…

作者头像 李华
网站建设 2026/4/16 12:17:07

ISR编写规范详解:嵌入式系统中断处理完整指南

中断服务例程&#xff08;ISR&#xff09;实战指南&#xff1a;嵌入式系统中的高效响应艺术 在嵌入式开发的世界里&#xff0c;有一个“看不见的指挥官”时刻在幕后调度着系统的节奏——它就是 中断服务例程 &#xff08;Interrupt Service Routine, ISR&#xff09;。当你按…

作者头像 李华
网站建设 2026/3/25 13:09:00

Qwen2.5-7B优化指南:内存占用与计算效率平衡策略

Qwen2.5-7B优化指南&#xff1a;内存占用与计算效率平衡策略 1. 背景与挑战&#xff1a;大模型推理中的资源博弈 随着大语言模型&#xff08;LLM&#xff09;在自然语言处理、代码生成、多模态理解等领域的广泛应用&#xff0c;如何在有限的硬件资源下高效部署和运行这些模型&…

作者头像 李华
网站建设 2026/4/9 16:31:00

Minlo是什么?

MinIO 是一款高性能、开源、分布式的对象存储系统&#xff0c;专为存储海量非结构化数据设计&#xff0c;100% 兼容 Amazon S3 API&#xff0c;被广泛应用于云原生、大数据、AI/ML 等场景。简单来说&#xff0c;它就像一个 "专业的非结构化数据仓库"&#xff0c;可以…

作者头像 李华
网站建设 2026/4/16 5:37:18

公网或外网是什么意思?

其实外网是个宽泛的说法&#xff0c;公网是外网里的核心组成部分&#xff0c;两者是包含与被包含的关系&#xff0c;用大白话和例子讲就很好懂&#xff1a;1. 先分清两个核心概念概念通俗解释特点例子内网封闭的局部网络&#xff0c;仅限内部设备互相访问① IP 地址是私有段&am…

作者头像 李华
网站建设 2026/4/16 7:10:17

PWM调速如何接入L298N电机驱动原理图?智能小车实例演示

PWM调速如何接入L298N&#xff1f;一文搞懂智能小车电机控制的底层逻辑你有没有遇到过这种情况&#xff1a;给小车通电后&#xff0c;电机“嗡”地一声响&#xff0c;却动不起来&#xff1b;或者明明代码写好了前进&#xff0c;轮子却原地打转&#xff1f;更糟的是&#xff0c;…

作者头像 李华