HTML5 详细学习笔记

1. HTML5 简介

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

1.1 HTML5 文档基本结构

html 复制代码
<!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 定义元素是否可编辑(truefalse <div contenteditable="true">可编辑内容</div>
tabindex 定义元素的 Tab 键顺序,控制元素的焦点顺序 <button tabindex="1">按钮1</button>
accesskey 定义访问元素的快捷键 <button accesskey="s">保存</button>
draggable 定义元素是否可拖动(truefalse <div draggable="true">可拖动内容</div>
spellcheck 定义是否对元素内容进行拼写检查(truefalse <input type="text" spellcheck="true">
translate 定义元素内容是否翻译(yesno <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>
相关推荐
YuCaiH2 分钟前
数组理论基础
笔记·leetcode·c·数组
bicijinlian1 小时前
多语言笔记系列:使用导入魔法命令
笔记
卓怡学长2 小时前
w304基于HTML5的民谣网站的设计与实现
java·前端·数据库·spring boot·spring·html5
电子云与长程纠缠2 小时前
Unreal Niagara制作SubUV贴图翻页动画
学习·ue5·编辑器·贴图·niagara
xing_x_xx3 小时前
Linux系统学习----概述与目录结构
学习
foo1st3 小时前
JDK(Ubuntu 18.04.6 LTS)安装笔记
java·笔记·ubuntu
DKPT3 小时前
常见正则表达式整理与Java使用正则表达式的例子
java·笔记·学习·面试·正则表达式
下雨的Jim3 小时前
前端速成之——Script
前端·笔记
爱码小白4 小时前
wordpress学习笔记
笔记·学习
我的golang之路果然有问题4 小时前
快速上手GO的net/http包,个人学习笔记
笔记·后端·学习·http·golang·go·net