基本结构#
在编译器输入 ! 后,按下 Tab 键,使用 Emmet 补全,即可生成一个基本的 HTML 结构。
一个网页的基本html结构如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>html<!DOCTYPE html>#
HTML 文档的声明,告诉浏览器该文档是 HTML5 文档。
<html>#
HTML 文档的根元素,包含了文档的所有内容。
<head>#
元素包含了文档的元数据,如字符编码、视口设置、标题等。
元素包含以下元素:
1. `` 元素:定义文档的元数据,如字符编码、视口设置、标题等。
2. `<body>#
元素包含了文档的主体内容,如文本、图像、链接、表格等。
常用标签#
标题标签#
HTML 提供了六级标题标签,分别对应不同级别的标题。六级标题标签分别为 <h1> 到 <h6>。
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>html段落标签#
HTML 段落标签用于定义段落。段落标签为 <p>。
<p>这是一个段落。</p>html换行标签#
HTML 换行标签用于在文本中插入换行符。换行标签为 <br>。
<p>这是一个段落。<br>这是第二个段落。</p>html强调标签#
常用的强调类型有 加粗 、 斜体 、下划线 和 删除线。
| 标签(有语义) | 标签(无语义) | 功能 |
|---|---|---|
<strong> | <b> | 加粗 |
<em> | <i> | 斜体 |
<ins> | <u> | 下划线 |
<del> | <s> | 删除线 |
更推荐使用具有语义的标签,因为它们更符合 HTML 的语义化原则,能够更好地描述文档的结构和内容。
注释标签#
HTML 注释标签用于添加注释,注释不会被浏览器显示。注释标签为 <!-- -->。
<!-- 这是一个注释 -->html图像标签#
HTML 图像标签用于在文档中插入图像。图像标签为 <img>。
<!-- src属性用于指定图像的 URL,title属性用于指定图像的标题。 -->
<!-- alt属性用于描述图像,当图像无法显示时,alt 属性将显示在图像下方。 -->
<img src="image.jpg" alt="这是一个图像" title="图像">html<img> 标签还有些属性,如 width、height、align、hspace、vspace 等,建议避免使用这些属性,转而使用 CSS 来控制图像的大小和位置。
视频标签#
HTML 视频标签用于在文档中插入视频。视频标签为 <video>。
<!-- src属性用于指定视频的 URL,title属性用于指定视频的标题。 -->
<!-- controls属性用于显示视频的控制条。 -->
<video src="video.mp4" title="视频" controls></video>html视频标签的其他属性:
| 属性 | 描述 |
|---|---|
width | 指定视频的宽度 |
height | 指定视频的高度 |
autoplay | 视频加载后自动播放 |
loop | 视频播放结束后循环播放 |
muted | 视频默认静音 |
poster | 播放前的图片 |
视频标签的兼容性写法:
<video title="视频" controls>
<source src="video.mp4" type="video/mp4">
<source src="video.ogg" type="video/ogg">
<source src="video.webm" type="video/webm">
<p>您的浏览器不支持 video 标签。</p>
</video>html浏览器会检查 <source> 元素,并且播放第一个与其自身相匹配的媒体。
音频标签#
HTML 音频标签用于在文档中插入音频。音频标签为 <audio>。
<!-- src属性用于指定音频的 URL,title属性用于指定音频的标题。 -->
<!-- controls属性用于显示音频的控制条。 -->
<audio src="audio.mp3" title="音频" controls></audio>html链接标签#
HTML 链接标签用于创建超链接。超链接标签为 <a>。
<a href="https://www.example.com">这是一个链接</a>html超链接标签的其他属性:
| 属性 | 描述 |
|---|---|
target | 指定链接在何处打开,_blank 表示在新窗口打开,_self 表示在当前窗口打开 |
title | 指定链接的标题 |
锚点链接 用于在文档中创建跳转到指定位置的链接。锚点链接的目标位置需要通过 id 属性来指定。
<!-- 跳转到 id 为 "section2" 的位置 -->
<a href="#section2">跳转到第二部分</a>
<!-- 目标位置 -->
<h2 id="section2">第二部分</h2>html容器标签#
HTML 提供了两种常用的容器标签:<div> 和 <span>。这两个标签都用于包裹其他内容,但它们有不同的特性和用途。
<div> 标签#
<div> 标签是一个块级元素,用于定义文档中的一个块级区域。它通常用于对内容进行分组,以便使用 CSS 进行样式化或使用 JavaScript 进行操作。
<div>
<h2>这是一个标题</h2>
<p>这是一个段落。</p>
</div>html<div> 标签的特点:
- 块级元素,会独占一行
- 默认没有特定的样式
- 常用于页面布局和内容分组
- 可以嵌套使用
<span> 标签#
<span> 标签是一个内联元素,用于定义文本中的一个内联区域。它通常用于对文本的一部分进行样式化或使用 JavaScript 进行操作。
<p>这是一段<span style="color: red;">红色</span>的文本。</p>html<span> 标签的特点:
- 内联元素,不会独占一行
- 默认没有特定的样式
- 常用于文本的局部样式化
- 不能包含块级元素
<div> 和 <span> 的区别#
| 特性 | <div> | <span> |
|---|---|---|
| 显示类型 | 块级元素 | 内联元素 |
| 默认宽度 | 100% 父元素宽度 | 内容宽度 |
| 换行行为 | 自动换行 | 不自动换行 |
| 包含内容 | 可以包含任何元素,包括块级元素 | 只能包含内联元素和文本 |
| 主要用途 | 页面布局、内容分组 | 文本局部样式化 |
在实际开发中,<div> 和 <span> 经常与 CSS 结合使用,用于创建复杂的页面布局和样式。
列表标签#
HTML 列表标签用于创建有序列表(<ol>)和无序列表(<ul>)。
<!-- 有序列表 -->
<ol>
<li>第一项</li>
<li>第二项</li>
<li>第三项</li>
</ol>
<!-- 无序列表 -->
<ul>
<li>第一项</li>
<li>第二项</li>
<li>第三项</li>
</ul>
<!-- 描述列表 -->
<dl>
<dt>名词解释</dt>
<dd>名词解释的详细描述1。</dd>
<dd>名词解释的详细描述2。</dd>
<dt>动词解释</dt>
<dd>动词解释的详细描述1。</dd>
<dd>动词解释的详细描述2。</dd>
</dl>html有序列表标签的其他属性:
| 属性 | 描述 |
|---|---|
type | 指定列表项的标记类型,1 表示数字,A 表示大写字母,a 表示小写字母,I 表示大写罗马数字,i 表示小写罗马数字 |
start | 指定列表项的起始数字 |
有序列表和无序列表中只能包含 <li> 元素,描述列表可包含 <dt> 和 <dd> 元素,一个 <dt> 元素可以对应多个 <dd> 元素。
表格标签#
HTML 表格标签用于创建表格。表格标签为 <table>。
<table>
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>25</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
</tr>
</tbody>
</table>html表格的合并:
- 合并行:使用
<tr>标签的rowspan属性来合并行。 - 合并列:使用
<td>或<th>标签的colspan属性来合并列。
<!-- 合并行示例 -->
<tr>
<td rowspan="2">合并两行</td>
<td>单元格1</td>
</tr>
<tr>
<td>单元格2</td>
</tr>
<!-- 合并列示例 -->
<tr>
<td colspan="2">合并两列</td>
</tr>html表单标签#
HTML 表单用于收集用户输入的数据,表单标签为 <form>。
<form action="/submit" method="post">
<!-- 表单控件 -->
</form>html表单的基本属性#
| 属性 | 描述 |
|---|---|
action | 指定表单数据提交的目标 URL |
method | 指定表单数据的提交方式,get 或 post |
enctype | 指定表单数据的编码类型,通常用于文件上传 |
target | 指定在何处打开表单提交结果 |
文本输入框#
用于输入单行文本。
<label for="username">用户名:</label>
<input type="text" id="username" name="username" placeholder="请输入用户名" required>html密码输入框#
用于输入密码,输入的内容会被隐藏。
<label for="password">密码:</label>
<input type="password" id="password" name="password" placeholder="请输入密码" required>html单选按钮#
用于从多个选项中选择一个。
<fieldset>
<legend>性别:</legend>
<label><input type="radio" name="gender" value="male" checked> 男</label>
<label><input type="radio" name="gender" value="female"> 女</label>
</fieldset>html复选框#
用于从多个选项中选择多个。
<fieldset>
<legend>爱好:</legend>
<label><input type="checkbox" name="hobby" value="reading"> 阅读</label>
<label><input type="checkbox" name="hobby" value="music"> 音乐</label>
<label><input type="checkbox" name="hobby" value="sports"> 运动</label>
</fieldset>html文本域#
用于输入多行文本。
<label for="message">留言:</label>
<textarea id="message" name="message" rows="4" cols="50" placeholder="请输入留言"></textarea>html下拉列表#
用于从预定义选项中选择一个或多个。
<label for="city">城市:</label>
<select id="city" name="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shenzhen">深圳</option>
</select>html多选下拉列表:
<label for="skills">技能:</label>
<select id="skills" name="skills" multiple>
<option value="html">HTML</option>
<option value="css">CSS</option>
<option value="javascript">JavaScript</option>
<option value="python">Python</option>
</select>html按钮#
提交按钮:用于提交表单数据。
<input type="submit" value="提交">
<!-- 或者使用 button 标签 -->
<button type="submit">提交</button>html重置按钮:用于重置表单数据。
<input type="reset" value="重置">
<!-- 或者使用 button 标签 -->
<button type="reset">重置</button>html普通按钮:用于触发 JavaScript 事件。
<input type="button" value="点击我" onclick="alert('你点击了按钮!')">
<!-- 或者使用 button 标签 -->
<button type="button" onclick="alert('你点击了按钮!')">点击我</button>html文件上传#
用于上传文件。
<label for="file">上传文件:</label>
<input type="file" id="file" name="file">html多选文件上传:
<input type="file" id="files" name="files" multiple>html其他 HTML5 表单控件#
数字输入框:
<label for="age">年龄:</label>
<input type="number" id="age" name="age" min="1" max="120" step="1" value="18">html日期选择器:
<label for="birthday">出生日期:</label>
<input type="date" id="birthday" name="birthday">html邮箱输入框:
<label for="email">邮箱:</label>
<input type="email" id="email" name="email" placeholder="请输入邮箱" required>htmlURL 输入框:
<label for="website">个人网站:</label>
<input type="url" id="website" name="website" placeholder="请输入网站地址">html搜索框:
<label for="search">搜索:</label>
<input type="search" id="search" name="search" placeholder="请输入搜索内容">html滑块:
<label for="volume">音量:</label>
<input type="range" id="volume" name="volume" min="0" max="100" value="50">html颜色选择器:
<label for="color">颜色:</label>
<input type="color" id="color" name="color" value="#ff0000">html表单分组和标签关联#
<fieldset> 和 <legend>:
用于将表单内容分组并提供标题。
<fieldset>
<legend>个人信息</legend>
<!-- 个人信息相关的表单控件 -->
</fieldset>html<label>:
用于为表单控件提供标签,提高可访问性。可以通过 for 属性与控件的 id 关联,或者将控件嵌套在 <label> 标签内。
<!-- 通过 for 属性关联 -->
<label for="username">用户名:</label>
<input type="text" id="username" name="username">
<!-- 通过嵌套关联 -->
<label><input type="checkbox" name="agree"> 我同意条款</label>html表单的常用属性#
以下是表单控件常用的属性:
| 属性 | 描述 |
|---|---|
name | 控件的名称,用于表单提交时的数据标识 |
value | 控件的值 |
placeholder | 提供输入提示 |
required | 表示该控件为必填项 |
disabled | 禁用控件 |
readonly | 设置控件为只读 |
checked | 用于单选按钮和复选框,设置默认选中 |
autofocus | 页面加载时自动获取焦点 |
表单验证#
HTML5 提供了表单验证功能,可以通过设置相应的属性来实现基本的表单验证。
<form>
<label for="email">邮箱:</label>
<input type="email" id="email" name="email" required>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required minlength="8">
<button type="submit">提交</button>
</form>html常用的验证属性:
| 属性 | 描述 |
|---|---|
required | 表示该控件为必填项 |
minlength | 最小长度 |
maxlength | 最大长度 |
min | 最小值(用于数字、日期等) |
max | 最大值(用于数字、日期等) |
pattern | 使用正则表达式验证输入值 |
type | 通过设置类型来进行特定格式的验证(如 email、url 等) |
通过合理使用表单标签和控件,可以创建出功能完善、用户友好的表单界面,用于收集各种用户数据。
字符实体#
HTML 中使用字符实体来表示特殊字符,以避免与 HTML 标签冲突。例如,要在 HTML 中显示小于号 <,需要使用实体 <。使用字符实体可以确保在 HTML 文档中正确显示特殊字符,避免解析错误。
以下是一些常用的字符实体:
| 字符 | 实体 | 说明 |
|---|---|---|
< | < | 小于号 |
> | > | 大于号 |
& | & | 和号 |
" | " | 双引号 |
' | ' | 单引号 |
| | 非断行空格 |
© | © | 版权符号 |
® | ® | 注册商标符号 |
™ | ™ | 商标符号 |
€ | € | 欧元符号 |
£ | £ | 英镑符号 |
¥ | ¥ | 日元符号 |
¥ | ¥ | 日元符号 |
¥ | &yuan; | 人民币符号 |
§ | § | 节号符号 |
... | … | 省略号 |
° | ° | 度符号 |