当前位置: 首页 > news >正文

HTML5 详细学习笔记

1. HTML5 简介

HTML5 是最新的 HTML 标准,于 2014 年 10 月由 W3C 完成标准制定。它增加了许多新特性,包括语义化标签、多媒体支持、图形效果、离线存储等。

1.1 HTML5 文档基本结构

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML5 文档标题</title>
</head>
<body><!-- 页面内容 -->
</body>
</html>
  • <!DOCTYPE html>: 声明文档类型为 HTML5

  • <html>: 根元素,lang 属性指定文档语言

  • <head>: 包含文档的元信息

  • <meta charset="UTF-8">: 指定字符编码为 UTF-8

  • <title>: 定义文档标题,显示在浏览器标签页上

  • <body>: 包含文档的可见内容

1.2HTML5 全局属性

属性描述示例
id定义元素的唯一标识符,用于在文档中唯一标识一个元素<div id="uniqueDiv">内容</div>
class定义元素的类名,用于 CSS 样式或 JavaScript 操作<div class="myClass">内容</div>
style定义元素的内联样式<div style="color:red;">红色文本</div>
title定义元素的额外信息,鼠标悬停时显示<div title="提示信息">内容</div>
lang定义元素内容的语言代码(如 enzh<div lang="en">English Content</div>
dir定义元素内容的文本方向(ltrrtlauto<div dir="rtl">从右到左的文本</div>
hidden定义元素是否隐藏(等同于 display: none<div hidden>隐藏内容</div>
contenteditable定义元素是否可编辑(true 或 false<div contenteditable="true">可编辑内容</div>
tabindex定义元素的 Tab 键顺序,控制元素的焦点顺序<button tabindex="1">按钮1</button>
accesskey定义访问元素的快捷键<button accesskey="s">保存</button>
draggable定义元素是否可拖动(true 或 false<div draggable="true">可拖动内容</div>
spellcheck定义是否对元素内容进行拼写检查(true 或 false<input type="text" spellcheck="true">
translate定义元素内容是否翻译(yes 或 no<div translate="no">不翻译的内容</div>
data-*自定义数据属性,用于存储私有数据<div data-id="123" data-name="example">内容</div>

 2. HTML5 中的标签

2.1文本格式化标签

标签描述属性示例
<h1>~<h6>标题标签,影响搜索引擎排名无特有属性<h1>一级标题</h1>
<p>段落标签无特有属性<p>这是一个段落。</p>
<em>强调文本,通常显示为斜体无特有属性<em>强调文本</em>
<strong>定义语气更强的强调文本,通常显示为粗体无特有属性<strong>重要文本</strong>
<del>定义删除的文本无特有属性<del>删除文本</del>
<ins>定义插入文档的文本无特有属性<ins>插入文本</ins>
<b>纯文本加粗,不强调语义无特有属性<b>加粗文本</b>
<i>纯文本斜体,不强调语义无特有属性<i>斜体文本</i>
<u>下划线文本,用于表示链接或特殊含义无特有属性<u>下划线文本</u>
<s>表示文本不再有效无特有属性<s>不再有效的文本</s>
<mark>高亮文本,用于突出显示文本无特有属性<mark>高亮文本</mark>
<small>小号文本,用于展示次要或辅助信息无特有属性<small>小号文本</small>
<sub>下标,如化学公式中的指数无特有属性<sub>下标文本</sub>
<sup>上标,如平方根符号无特有属性<sup>上标文本</sup>
<br>换行标签,用于强制换行无特有属性这是第一行<br>这是第二行
<hr>水平线标签,用于分隔内容无特有属性<hr>

 2.2图像视频音频与链接标签

标签描述属性示例
<img>定义HTML页面中的图像src:指定图像的URL;alt:图像的替换文本<img src="image.jpg" alt="描述性文字">
<a>定义超链接href:指定链接目标;target:规定打开新页面的位置<a href="https://example.com" target="_blank">链接文本</a>
<audio>定义音频内容src:音频文件的路径;controls:显示音频播放控件;autoplay:自动播放音频;loop:循环播放音频<audio src="audio.mp3" controls autoplay loop></audio>
<video>定义视频内容src:视频文件的路径;controls:显示视频播放控件;autoplay:自动播放视频;loop:循环播放视频;width/height:设置视频的宽度和高度<video src="video.mp4" controls autoplay loop width="640" height="480"></video>
<source><audio><video>指定多种媒体资源src:媒体文件的路径;type:媒体文件的MIME类型<audio controls><source src="audio.mp3" type="audio/mpeg"><source src="audio.ogg" type="audio/ogg"></audio>

2.3列表标签 

标签描述属性示例
<ul>定义无序列表无特有属性<ul><li>项目1</li><li>项目2</li></ul>
<ol>定义有序列表start:定义第一个数字<ol start="3"><li>项目1</li><li>项目2</li></ol>
<li>定义列表项无特有属性<li>列表项</li>

 2.4HTML5 描述列表标签

<dl>定义描述列表,用于将术语和描述组合在一起无特有属性,支持全局属性<dl><dt>术语1</dt><dd>描述1</dd><dt>术语2</dt><dd>描述2</dd></dl>
<dt>定义描述列表中的术语或名称无特有属性,支持全局属性<dt>术语1</dt>
<dd>定义描述列表中术语的描述或解释无特有属性,支持全局属性<dd>描述1</dd>

2.5表格标签 

标签描述属性示例
<table>定义表格border:规定表格的单元格是否具有边框;cellspacing:设置单元格之间的空白;cellpadding:规定单元边沿与其内容之间的空白;width/height:设置表格的宽度和高度<table border="1" cellpadding="5" cellspacing="0" width="500" height="300">
<tr>定义表格中的行无特有属性<tr><td>行内容</td></tr>
<td>定义表格中的单元格rowspan:行跨度;colspan:列跨度<td rowspan="2" colspan="2">跨行跨列单元格</td>
<th>定义表头单元格无特有属性<th>表头单元格</th>
<thead>定义表格的头部区域无特有属性<thead><tr><th>表头</th></tr></thead>
<tbody>定义表格的主体区域无特有属性<tbody><tr><td>主体内容</td></tr></tbody>
<tfoot>定义表格的脚注区域无特有属性<tfoot><tr><td>脚注内容</td></tr></tfoot>
<caption>定义表格的标题,位于表格的顶部或底部无特有属性<caption>表格标题</caption>

2.6表单与输入标签

标签描述属性示例
<form>定义表单action:表单数据提交地址;method:表单提交方式(getpost);autocomplete:是否启用自动完成功能(on/off);enctype:表单数据编码类型(如application/x-www-form-urlencoded);name:表单名称;novalidate:取消表单验证;target:提交后响应的显示目标(如_blank<form action="submit.php" method="post" autocomplete="on" enctype="application/x-www-form-urlencoded" name="myForm" novalidate target="_self"></form>
<input>定义输入框type:输入框类型(如textpasswordsubmitresetbuttoncheckboxradio等);name:输入框名称;value:输入框默认值;placeholder:输入框提示文本;required:是否必填;readonly:是否只读;disabled:是否禁用;autofocus:是否自动获取焦点;form:关联表单的idlist:关联<datalist>id<input type="text" name="username" value="默认值" placeholder="请输入用户名" required readonly disabled autofocus form="myForm" list="datalistId">
<textarea>定义多行文本框rows:设置多行文本框的行数;cols:设置多行文本框的列数;name:名称;placeholder:提示文本;required:是否必填;readonly:是否只读;disabled:是否禁用;maxlength/minlength:最大/最小长度<textarea rows="4" cols="50" name="description" placeholder="请输入描述" required readonly disabled maxlength="100" minlength="10"></textarea>
<button>定义按钮type:按钮类型(如submitresetbutton);name:按钮名称;value:按钮值;disabled:是否禁用;form:关联表单的idformaction:覆盖表单的action属性;formenctype:覆盖表单的enctype属性;formmethod:覆盖表单的method属性;formnovalidate:覆盖表单的novalidate属性<button type="submit" name="submitBtn" value="submitValue" disabled form="myForm" formaction="submit.php" formenctype="application/x-www-form-urlencoded" formmethod="post" formnovalidate>提交</button>
2.6.1HTML5表单输入框类型
类型描述示例
text单行文本输入框<input type="text" name="username">
password密码输入框,输入内容以点或星号显示<input type="password" name="password">
checkbox复选框,可多选<input type="checkbox" name="hobby" value="reading">阅读
radio单选框,同一组中只能选一个<input type="radio" name="gender" value="male">男
submit提交按钮,用于提交表单数据<input type="submit" value="提交">
reset重置按钮,用于将表单恢复到初始值<input type="reset" value="重置">
button普通按钮,需配合JavaScript使用<input type="button" value="点击我">
file文件上传输入框,用于选择文件上传<input type="file" name="avatar">
date日期选择输入框<input type="date" name="birthday">
time时间选择输入框<input type="time" name="appointment">
datetime-local本地日期和时间选择输入框<input type="datetime-local" name="event-time">
email电子邮件输入框,自动验证输入内容是否为有效电子邮件格式<input type="email" name="email">
number数字输入框,可设置最小值、最大值和步长<input type="number" name="age" min="18" max="99" step="1">
range范围选择输入框,以滑块形式选择数值范围<input type="range" name="volume" min="0" max="100">
url网址输入框,自动验证输入内容是否为有效网址格式<input type="url" name="website">
search搜索输入框,通常带有清除按钮<input type="search" name="query">
tel电话号码输入框<input type="tel" name="phone">

 2.7HTML5表单辅助标签

标签描述示例
<label>定义表单控件的标签,增强用户体验和可访问性<label for="username">用户名:</label><input type="text" id="username" name="username">
<fieldset>对表单中的相关元素进行分组<fieldset><legend>个人信息</legend><label for="name">姓名:</label><input type="text" id="name" name="name"></fieldset>
<legend>定义<fieldset>元素的标题<fieldset><legend>个人信息</legend>...</fieldset>
<datalist>定义输入字段的选项列表,提供自动完成功能<input list="browsers" name="browser"><datalist id="browsers"><option value="Internet Explorer"><option value="Firefox"><option value="Chrome"></datalist>
<output>定义不同类型的输出,如计算结果<form oninput="a.value=parseInt(b.value)+parseInt(c.value)">0<input type="range" id="b" value="50">100+<input type="number" id="c" value="50">=<output name="a" for="b c"></output></form>
<progress>定义任何类型的进度条<progress value="22" max="100"></progress>
<meter>定义预定义范围内的标量测量(或分数)<meter value="2" min="0" max="10">2 out of 10</meter>

2.8HTML5新增语义化标签 (基本是在手机端使用的)

标签描述属性示例
<article>定义页面独立的内容区域无特有属性<article>这是独立的内容区域</article>
<aside>定义页面的侧边栏内容无特有属性<aside>这是侧边栏内容</aside>
<header>定义文档的头部区域无特有属性<header>这是文档头部区域</header>
<footer>定义section或document的页脚无特有属性<footer>这是页脚内容</footer>
<nav>定义导航链接的部分无特有属性<nav>这是导航链接部分</nav>
<section>定义文档中的节(section)无特有属性<section>这是文档中的一个节</section>

相关文章:

  • 【AI】基于OllamaSharp与.NET Core API的高效LLM查询实现
  • Wan2.1和HunyuanVideo文生视频模型算法解析与功能体验丨前沿多模态模型开发与应用实战第六期
  • 针对 Spring Boot 应用中常见的查询场景 (例如:分页查询、关联查询、聚合查询) 如何进行 SQL 优化?
  • [论文阅读]REPLUG: Retrieval-Augmented Black-Box Language Models
  • centos离线安装ssh
  • 补4月22日23日
  • Pytorch中的Dataset和DataLoader
  • 倚光科技:微透镜阵列低成本加工新范式
  • 2025最新版扣子(Coze)AI智能体应用指南
  • .NETCore部署流程
  • 【前端】CSS 基础
  • 系统与网络安全------弹性交换网络(3)
  • 架构-项目管理
  • 【Luogu】动态规划三
  • YOLOv12的注意力机制革新与实时检测性能分析——基于架构优化与历史版本对比
  • wps excel 常用操作
  • uniapp 安卓离线本地打包,Android Studio生成apk包
  • doris通过catalog查询db2频繁报错result set is closed
  • LVDS系列9:Xilinx 7系可编程输入延迟(二)
  • 深度学习-数值稳定性和模型初始化
  • 内蒙古纪检干部刘占波履新呼和浩特,曾参与涉煤腐败倒查20年工作
  • 人大法工委:涉核领域还需要有一部统领性的基础法律
  • 国防部就美军“压力测试”大演习答澎湃:中国从来不信邪,不怕打,不怕压
  • 北京市交通委通报顺平路潮白河大桥事故直接原因
  • 印控克什米尔发生恐袭事件,外交部:中方反对一切形式的恐怖主义
  • 耐克领跑女性运动市场:持续加码、创新,更多新增长点有望涌现