1、HTML 简介

1.1、什么是 HTML?

HTML 是用来描述网页地一种语言。

  • HTML 指的是超文本标记语言(Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言(markup language)
  • 标记语言是一套标记标签(markup tag)
  • HTML 使用标记标签来描述网页
1.2、HTML 标签

HTML 标记标签通常被称为 HTML 标签(HTML tag)。

  • HTML 标签是由尖括号包围地关键词,比如<html>
  • HTML 标签通常是成对出现地,比如<body></body>
  • 标签对中地第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开放标签和闭合标签
1.3、HTML 文档 = 网页
  • HTML 文档描述网页
  • HTML 文档包含 HTML 标题和纯文本
  • HTML 文档也被称为网页

Web 浏览器地作用是读取 HTML 文档,并以网页地形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。

2、HTML 基础功能标签

标签 描述
<!DOCTYPE> 定义文档类型
<html> HTML 根元素,定义 HTML 文档
<head> 定义关于文档的元信息
<title> 定义文档标题
<body> 定义文档主体
h1~h6 定义 HTML 标题
<p> 定义段落
<br 定义简单的折行
hr 定义水平线
<!--...--> 定义注释
2.1、<!DOCTYPE>定义和用法

<!DOCTYPE>声明必须是 HTML 文档的第一行,位于 html 标签之前。

<!DOCTYPE>声明不是 HTML 标签;它是指示 web 浏览器使用哪个 HTML 版本进行编写的指令。

在 HTML 4.0.1 中,<!DOCTYPE>声明引用 DTD,因为 HTML 4.0.1 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确的呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

在 HTML5 中,<!DOCTYPE>声明:

<!DOCTYPE html>
2.1.1、HTML 4.0.1 Strict

该 DTD 包含所有 HTML 元素和属性,但不包括展示性和启用的元素(比如 font)。不允许框架集(Framesets)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1//EN" "http://www.w3.org/TR/html4/strict.dtd">
2.1.2、HTML 4.0.1 Transitional

该 DTD 包含所有 HTML 元素和属性,包括展示性和弃用的元素(比如 font)。不允许框架集(Framesets)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2.1.3、HTML 4.0.1 Frameset

该 DTD 等同于 HTML 4.0.1 Transitional,但允许框架集内容。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
2.1.4、XHTML 1.0 Strict

该 DTD 包含所有 HTML 元素和属性,但不包括展示性和启用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
2.1.5、XHTML 1.0 Transitional

该 DTD 包含所有 HTML 元素和属性,包含展示性和弃用的元素(比如 font)。不允许框架集(Framesets)。必须以格式正确的 XML 来编写标记。

<!DOCTYPE html PUBLIC "-W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.1.6、XHTML 1.0 Frameset

该 DTD 等同于 XHTML 1.0 Transitional,但允许框架集内容。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
2.1.7、XHTML 1.1

该 DTD 等用于 XHTML 1.0 Strict,但允许添加模型。

<!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

基本标签的使用

<!-- 文档类型 -->
<!DOCTYPE html>
<!-- 文档根标签 -->
<html lang="en">
  <!-- 文档元信息 -->
  <head>
    <!-- 文档编码 -->
    <meta charset="UTF-8" />
    <!-- 文档标题 -->
    <title>基础标签使用</title>
  </head>
  <!-- 文档的主体 -->
  <body>
    <!-- 一级标题 -->
    <h1>古诗歌</h1>
    <!-- 定义水平线 -->
    <hr />
    <!-- 二级标题 -->
    <h2>《春晓》</h2>
    <!-- 段落 -->
    <p>
      <!-- 换行符br -->
      春眠不觉晓,<br />
      处处闻啼鸟。<br />
      夜来风雨声,<br />
      花落知多少。
    </p>
    <!-- 定义水平线 -->
    <hr />
    <!-- 二级标题 -->
    <h2>《上李邕》</h2>
    <!-- 段落 -->
    <p>
       <!-- 换行符br -->
      大鹏一日同风起,扶摇直上九万里。<br />
      假令风歇时下来,犹能簸却沧溟水。<br />
      世人见我恒殊调,闻余大言皆冷笑。<br />
      宣父犹能畏后生,丈夫未可轻年少。
    </p>
  </body>
</html>

3、HTML 格式化文本标签

标签 描述
abbr 定义缩写
address 定义文档作者或拥有着的联系信息
b 定义粗体文本
bdi 定义文本的文本方向,使其脱离其周围文本的方向设置
bdo 定义文字方向
blockquote 定义长的引用
cite 定义引用
code 定义计算机代码文本
del 定义被删除文本
dfn 定义项目
em 强调文本
i 定义斜体文本
ins 定义被插入文本
kbd 定义键盘文本
mark 定义有记号的文本
meter 定义预定义范围内的度量
pre 定义预格式文本
progress 定义任何类型的任务的进度
q 定义短的引用
rp 定义若浏览器不支持 ruby 元素显示的内容
rt 定义 ruby 注释的解释
ruby 定义 ruby 注释
s 定义加删除线的文本
samp 定义计算机代码样本
small 定义小号文本
strong 定义语气更为强烈的强调文本
sup 定义上标文本
sub 定义下标文本
template 定义用作容纳页面加载时隐藏内容的容器
time 定义日期/时间
u 定义下划线文本
var 定义文本的变量部分
wbr 定义可能的换行符

文本格式化标签基本使用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>文本格式化标签</title>
  </head>
  <body>
    <!-- abbr 定义缩写 -->
    <abbr title="People's Republic of China">PRC</abbr>
    <!-- address 定义文档作者或拥有者的联系信息,块级元素 -->
    <address>
      <a href="mailto:foo@example.com">foo@example.com</a>
    </address>
    <!-- b 定义粗体文本 -->
    <b>这是粗体文本</b><br />
    <!-- bdi 定义文本的文本方向 -->
    <bdi dir="rtl">床前明月光,疑是地上霜。</bdi><br />
    <!-- bdo 定义文字方向 -->
    <bdo dir="rtl">床前明月光,疑是地上霜。</bdo>
    <!-- blockquote 定义块引用,块级元素 -->
    <blockquote>
      This is a long quotation. This is a long quotation. This is a long
      quotation. This is a long quotation. This is a long quotation.
    </blockquote>
    <!-- cite 定义引用,比如书籍或杂志的标题 -->
    <p>更多资料请看<cite>维基百科</cite>。</p>
    <!-- code 定义计算机代码 -->
    <code>alert()</code>的作用是让网页弹出一个提示框。<br />
    <!-- del 定义本删除的文本 -->
    <del>定义被删除的文本</del>
    <!-- dfn 定义术语 -->
    <p>通过 TCP/IP 协议连接的全球性计算机网络,叫做 <dfn>Internet</dfn></p>
    <!-- em 定义强调文本 -->
    <em>定义强调文本</em> <br />
    <!-- i 定义斜体 -->
    <i>定义斜体</i> <br />
    <!-- ins 定义被插入的文本 -->
    <ins>定义被插入的文本</ins> <br />
    <!-- kbd 定义键盘文本 -->
    <kbd>定义键盘文本</kbd>
    <!-- mark 定义有标记的文本 -->
    <p>我们讨论以后决定,<mark>运行会在下周三举办。</mark></p>
    <!-- 定义预定义范围内的度量 -->
    <meter value="3" min="0" max="10">十分之三</meter>
    <!-- pre 定义预格式文本 -->
    <pre>
      function add() {
        console.log()
      }
    </pre>
    <!-- progress 定义任何类型的任务进度 -->
    <progress value="22" max="100"></progress>
    <!-- q 定义短的引用 -->
    <q>Here is a short quotation here is a short quotation</q><br />
    <!-- ruby 定义 ruby 注释(中文注音或字符) -->
    <!-- rp 标签在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容 -->
    <!-- rt 标签定义字符(中文注音或字符)的解释或发音 -->
    <ruby>
      汉<rp>(</rp><rt>han</rt><rp>)</rp> 字<rp>(</rp><rt>zi</rt><rp>)</rp>
    </ruby>
    <br />
    <!-- s 不被赞成使用的标签 -->
    <s>不被赞成使用的标签</s>
    <!-- samp 定义计算机代码样本 -->
    <p>
      如果使用没有定义的变量,浏览器会报错:<samp
        >Uncaught ReferenceError: foo is not defined</samp
      >。
    </p>
    <!-- small 定义小号字体 -->
    <small>定义小号字体</small><br />
    <!-- strong 定义语气更为强烈的强调文本 -->
    <strong>定义语气更为强烈的强调文本</strong><br />
    <!-- sup 定义上标 -->
    定义<sup>上标</sup><br />
    <!-- sub 定义下标 -->
    定义<sub>下标</sub><br />
    <!-- template 定义用作容纳页面加载时隐藏内容的容器 -->
    <template> 我被隐藏了 </template>
    <!-- time 定义日期/时间 -->
    <time datetime="2022-02-14">情人节</time><br />
    <!-- u 定义下划线 -->
    <u>定义下划线</u><br />
    <!-- var 定义变量 -->
    <var>var name = '李广';</var>
    <!-- wbr 定义可能的换行符 -->
    <p>如果想学习 AJAX,那么您必须熟悉 XML<wbr />Http<wbr />Request 对象。</p>
  </body>
</html>

4、form 表单和输入标签

标签 描述
form 定义供用户输入的 HTML 表单
input 定义输入控件
textarea 定义多行的文本输入控件
button 定义按钮
select 定义选择列表
optgroup 定义选择列表中的选项
label 定义 input 元素的标注
fieldset 定义围绕表单中元素的边框
legend 定义 field 元素的标题
datalist 定义下拉列表
keygen 定义生成密钥
output 定义输入的一些类型
4.1、form 属性
属性 描述
accept-charset charset_list 规定服务器可处理的表单数据字符集。UTF-8、ISO-8859-1
action URL 规定当提交表单时向何处发送表单数据
autocomplete on、off 规定是否用表单的自动完成功能
enctype application/x-www-form-urlencoded(默认;编码所有字符;空格转换为+,特殊符号转为 ASCII 码)、multipart/form-data(不编码;文件上传使用)、text/plain(空格转为+,不对特殊字符编码) 规定在发送表单数据之前如何对其进行编码
method get、post 规定用于发送 form-data 的 HTTP 方法
name form_name 规定表单的名称
novalidate novalidate 规定,提交表单不进行验证
4.1.1、form 表单 rel 属性
描述
alternate 当前文档的另一种形式,比如翻译
author 作者链接
bookmark 用作书签的永久地址
external 当前文档的外部参考文档
help 帮助链接
license 许可证链接
next 系列文档的下一篇
nofollow 告诉搜索引擎忽略该链接,主要用于用户提交的内容,防止有人企图通过添加链接,提高该链接
noreferrer 告诉浏览器打开链接时,不要将当前网址作为 HTTP 头信息的 Referer 字段发送出去,这样可以隐藏点击的来源
noopener 告诉浏览器打开链接时,不让链接窗口通过 JavaScript 的 window.opener 属性引用原始窗口
prev 系列文档的上一篇
search 文档的搜索链接
tag 文档的标签链接
4.1.2、form 表单 target 属性
描述
_blank 在新窗口中打开
_self 默认。在相同的框架中打开
_parent 在父框架集中打开
_top 在整个窗口中打开
framename 在指定框架中打开
4.2、表单控件属性

input 基本属性

属性 描述
autocomplete on、off 规定是否使用输入字段的自动完全成功
autofocus autofocus 规定输入字段在页面加载时是否获得焦点
dirname inputname.dir 规定将提交的文本方向
max number、date 规定输入字段的最大值
min number、date 规定输入字段的最小值
maxlength number 规定输入字段中的字符的最大长度
minlength number 规定输入字段中所需要的最小字符数
name field_name 定义 input 元素的名称
pattern regexp_pattern 规定输入字段的值的模式或格式
placeholder text 规定帮助用户填写输入字段的提示
readonly readonly 规定输入字段为只读
required required 指示输入字段的值是必须的
size number_of_char 定义以提交按钮形式显示的图像的 URL
step number 规定输入字的合法数字间隔
type button、checkbox、file、hidden、image、password、radio、reset、submit、text 规定 input 元素的类型
value value 规定 input 元素的值

input type="submit"和 type=“image” 按钮类属性

属性 描述
align left、right、top、middle、bottom 规定图像输入的对其方式
formaction URL 覆盖表单的 action 属性(适用于 type=“submit” 和 type=“image”)
formenctype application/x-www-form-urlencoded、multipart/form-data、text/plain 覆盖表单的 enctype(适用于 type=“submit” 和 type=“image”)
formmethod get、post 覆盖表单的 method 属性(适用于 type=“submit” 和 type=“image”)
formnovalidate formnovalidate 覆盖表单的 novalidate 属性,使用该属性,提交表单不进行验证
formtarget _blank、_self、_parent、_top、framename 覆盖表单的 target 属性(适用于 type=“submit” 和 type=“image”)
height pixels、% 定义 input 字段的高度(适用于 type=“image”)
width pixels、% 定义 input 字段的宽度(适用于 type=“image”)
src URL 定义以提交按钮形式显示的图像的 URL
alt text 定义图像输入的替代文本

input type=“file” 文件类属性

属性 描述
accept mime_type 规定通过文件上传提交的文件的类型
multiple multiple 如果使用该属性,则允许一个以上的值

input type=“radio” 和 type=“checkbox” 属性

属性 描述
checked checked 规定此 input 元素首次加载时应当被选中

input type=“url” 属性

属性 描述
list datalist-id 引用包含输入字段的预定义选项的 datalist

textarea 属性

属性 描述
cols number 规定文本区内的可见宽度
rows number 规定文本区内的可见行数
wrap hard、soft 规定当在表单中提交时,文本区域中的文本如何换行

form 表单和输入标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>表单和输入</title>
</head>

<body>
  <!-- accept-charset 规定服务器可处理的表单数据字符集 -->
  <!-- action 规定当提交表单时向何处发送表单数据 -->
  <!-- autocomplete 规定是否用表单的自动完成功能 -->
  <!-- enctype 规定在发送表单数据之前如何对其进行编码 -->
  <!-- method 规定用于发送 form-data 的 HTTP 方法 -->
  <!-- name 规定表单的名称 -->
  <!-- novalidate 规定,提交表单不进行验证 -->
  <!-- target 规定在何处打开 action URL -->
  <form id="myForm" accept-charset="UTF-8" action="http://127.0.0.1:80" autocomplete="on"
    enctype="application/x-www-form-urlencoded" method="get" name="myForm" target="_self">
    <!-- fieldset 定义围绕表单中元素的边框 -->
    <fieldset>
      <!-- legend 定义 field 元素的标题  -->
      <legend>个人信息</legend>
      <!-- type="text" 定义文本输入框 -->
      <!-- name 定义 input 元素的名称 -->
      <!-- autofocus 规定输入字段在页面加载时是否获得焦点 -->
      <!-- autocomplete 规定是否使用输入字段的自动完成功能 -->
      <!-- required 指示输入字段的值是必须的 -->
      <!-- size 定义输入字段的宽度 -->
      <p>
        用户名:<input type="text" name="username" autofocus autocomplete="on" size="40" required />
      </p>
      <!-- type="password" 定义密码字段 -->
      <!-- minlength 规定输入字段中所需的最小字符数 -->
      <!-- maxlength 规定输入字段中所需的最大字符数 -->
      <p>
        密码:<input type="password" name="password" minlength="8" maxlength="16" />
      </p>
      <p>
        <!-- placeholder 规定帮助用户填写输入字段的提示 -->
        姓名:
        <input type="text" name="name" pattern="[a-zA-Z]" placeholder="请输入姓名" />
      </p>
      <p>
        性别:
        <!-- type="radio" 定义单选按钮 -->
        <!-- checked 规定此 input 元素首次加载时被选中 -->
        <!-- for 规定 label 绑定到哪个表单元素 -->
        <input id="male" type="radio" name="sex" value="男" checked /><label for="male">男</label>
        <input id="female" type="radio" name="sex" value="女" /><label for="female">女</label>
      </p>
      <p>
        年龄:
        <!-- type="number" 定义数字输入框 -->
        <!-- max 规定输入字段的最大值 -->
        <!-- min 规定输入字段的最小值 -->
        <!-- step 规定输入字的合法数字间隔 -->
        <input type="number" min="10" max="100" step="5" />
      </p>
      <p>
        <!-- type="date" 定义日期 -->
        生日:<input type="date" min="1995-10-10" max="2025-10-10" />
      </p>
      <p>
        兴趣:
        <!-- type="checkbox" 定义复选框 -->
        <label><input type="checkbox" name="interest" value="游泳" />游泳</label>
        <label><input type="checkbox" name="interest" value="打球" />打球</label>
        <label><input type="checkbox" name="interest" value="爬山" />爬山</label>
      </p>
      <p>
        头像:
        <!-- type="file" 定义输入字段和浏览按钮,供文件上传 -->
        <!-- accept 规定通过文件上传来提交的文件的类型 -->
        <!-- multiple 允许多选 -->
        <input type="file" name="file" accept="image/*" multiple />
      </p>
      <p>
        <!-- list 引用包含输入字段的预定义选项的 datalist -->
        网站:<input type="url" list="url_list" name="link" />
        <!-- datalist 定义下拉列表 -->
        <datalist id="url_list">
          <option label="W3School" value="http://www.w3schools.com"></option>
          <option label="Google" value="http://www.google.com"></option>
          <option label="Microsoft" value="http://www.microsoft.com"></option>
        </datalist>
      </p>
      <p>
        <!-- readonly 规定输入字段为只读 -->
        <!-- value 规定 input 元素的值 -->
        只读:<input type="text" readonly value="只读" />
      </p>
      <p>
        <!-- cols 规定文本区内的可见宽度 -->
        <!-- rows 规定文本区内的可见行数 -->
        <!-- wrap 规定表单提交时,文本如何换行 soft:默认,不换行;hard:换行 -->
        备注:<textarea name="remark" cols="30" rows="10" wrap="hard"></textarea>
      </p>
      <!-- type="hidden" 定义隐藏的输入字段 -->
      <input type="hidden" name="country" value="chinese" />
      <p>
        <!-- type="reset 定义重置按钮" -->
        <input type="reset" value="重置" />
        <!-- type="submit" 定义提交按钮 -->
        <!-- formaction 规定当提交表单时向何处发送表单数据 -->
        <!-- formenctype 规定在发送表单数据之前如何对其进行编码 -->
        <!-- formmethod 规定用于发送 form-data 的 HTTP 方法 -->
        <!-- formnovalidate 规定,提交表单不进行验证 -->
        <!-- formtarget 规定在何处打开 action URL -->
        <input type="submit" value="提交" formaction="http://127.0.0.1:80" formenctype="application/x-www-form-urlencoded"
          formmethod="get" formtarget="_self" />
        <!-- type="image" 定义图像形式的提交按钮 -->
        <!-- alt 定义图像输入的替代文本 -->
        <!-- width 定义 input 字段的宽度 -->
        <!-- height 定义 input 字段的高度 -->
        <!-- src 定义提交按钮形式显示的图像的 URL -->
        <input type="image" width="58px" height="23px" src="submit.gif" alt="submit" />
        <!-- type="button" 定义可点击按钮 -->
        <!-- disabled 禁用此元素 -->
        <input disabled type="button" value="普通按钮" />
      </p>
      <p>
        <!-- type="reset 定义重置按钮" -->
        <button type="reset" value="重置">重置</button>
        <!-- type="submit" 定义提交按钮 -->
        <!-- formaction 规定当提交表单时向何处发送表单数据 -->
        <!-- formenctype 规定在发送表单数据之前如何对其进行编码 -->
        <!-- formmethod 规定用于发送 form-data 的 HTTP 方法 -->
        <!-- formnovalidate 规定,提交表单不进行验证 -->
        <!-- formtarget 规定在何处打开 action URL -->
        <button type="submit" value="提交" formaction="http://127.0.0.1:80"
          formenctype="application/x-www-form-urlencoded" formmethod="get" formtarget="_self">
          提交
        </button>
        <!-- disabled 禁用此元素 -->
        <button disabled type="button" value="普通按钮">普通按钮</button>
      </p>
      <p>
        城市:<select name="city">
          <option value="">请选择城市</option>
          <option value="beijing">北京</option>
          <option value="nanjing">南京</option>
          <option value="shanghai">上海</option>
        </select>
      </p>
      <p>
        汽车:<select name="good">
          <optgroup label="大众">
            <option value="宝来">宝来</option>
            <option value="朗逸">朗逸</option>
            <option value="桑塔纳">桑塔纳</option>
          </optgroup>
          <optgroup label="吉利">
            <option value="帝豪">帝豪</option>
            <option value="博瑞">博瑞</option>
            <option value="博越">博越</option>
          </optgroup>
        </select>
      </p>
    </fieldset>
  </form>
  <!-- form 规定输入字段所属的一个或多个表单 -->
  <p>
    我属于myForm 表单<input type="text" name="description" form="myForm" />
  </p>
</body>

</html>

5、iframe 框架

iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。

把文本放置在 iframe 标签内,可以应对无法理解 iframe 的浏览器。

5.1、iframe 基本属性
属性 描述
name frame_name 规定 iframe 的名称
frameborder 1、0 规定是否显示框架周围的边框
width pixels、% 定义 iframe 的宽度
height pixels、% 定义 iframe 的高度
marginwidth pixels 定义 iframe 的左侧和右侧的边距
marginheight pixels 定义 iframe 的顶部和底部的边距
longdesc URL 规定一个页面,该页面包含了有关 iframe 的较长描述
scrolling yes、no、auto 规定是否在 iframe 中显示滚动条
seamless seamless 规定iframe看上去像是包含文档的一部分
src 规定在 iframe 中显示的文档的 URL
srcdoc HTML_code 规定在 iframe 中显示的页面的 HTML 内容,覆盖src属性

6、图像标签

标签 描述
img 定义图像
map 定义图像映射
area 定义图像地图内部的区域
canvas 定义图形
figcaption 定义figure元素的标题
figure 定义媒介元素内容的分组,一级它们的标题
svg 定义 SVG 图形的容器
6.1、img 标签
属性 描述
src URL 规定显示图像的 URL
alt text 规定图像的替代文本
width pixels、% 定义图像的宽度
height pixels、% 定义图像的高度
loading eager、lazy 规定浏览器是因该立即加载图像还是推迟加载屏幕外图像
ismap URL 将图像定义为服务器端图像映射
usemap URL 将图像定义为客户端图像的映射

图像标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>图像</title>
</head>

<body>
  <!-- 图像立即加载 -->
  <img src="https://www.w3school.com.cn/i/photo/beijing.jpg" alt="北京" style="width:100%">

  <!-- 图像懒加载 -->
  <img src="https://www.w3school.com.cn/i/photo/wuhan.jpg" alt="武汉" style="width:100%" loading="lazy">
  <!-- 定义可点击图像 -->
  <img src="https://www.w3school.com.cn/i/eg_planets.jpg" usemap="#planetmap" alt="planets">
  <!-- map 定义一个客户端图像映射。 -->
  <map name="planetmap" id="planetmap">
    <!-- area 元素定义图像映射中的区域 -->
    <area shape="circle" coords="180,139,14" href="javascript:;" target="_blank" alt="venus" />
    <area shape="circle" coords="129,161,10" href="javascript:;" target="_blank" alt="mercury" />
    <area shape="rect" coords="0,0,110, 260" href="javascript:;" target="_blank" alt="sun" />
  </map>
  <hr>
  <!-- canvas 定义图形 -->
  <canvas id="myCanvas"></canvas>
  <!-- figure 标签规定独立的流内容(图像、图表、照片、代码等) -->
  <figure>
    <!-- figcaption 定义 figure元素的标题 -->
    <figcaption>黄浦江上的卢浦大桥</figcaption>
    <img src="https://www.w3school.com.cn/i/shanghai_lupu_bridge.jpg" alt="">
  </figure>
  <!-- svg 标记定义 svg 图形的容器 -->
  <svg width="100" height="100">
    <!-- circle 绘制圆  -->
    <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow"></circle>
  </svg>
</body>
<script>
  var canvas = document.getElementById('myCanvas');
  var ctx = canvas.getContext('2d');
  ctx.fillStyle = '#FF0000';
  ctx.fillRect(0, 0, 80, 100);
</script>

</html>

7、音频/视频标签

标签 描述
audio 定义声音内容
source 定义媒介源
track 定义用在媒体播放器中的文本轨道
video 定义视频
7.1、audio 音频标签
属性 描述
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放
controls controls 如果出现该属性,则向用户显示控件
loop loop 如果出现该属性,则每当音频结束时重新开始播放
muted muted 规定视频输出应该被静音
preload auto-当页面加载后载入整个音频、meta-当页面加载后只载入元数据、none-当页面加载后不载入音频 如果出现该属性免责音频在页面加载时进行加载,并预备播放
src url 要播放的音频的 URL
7.2、video 视频标签
属性 描述
autoplay autoplay 如果出现该属性,则视频在就绪后马上播放
controls controls 如果出现该属性,则向用户显示控件
width pixels 设置视频播放器的宽度
height pixels 设置视频播放器的高度
loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放
muted muted 规定视频的音频输出应该被静音
poster URL 规定视频下载时显示的图像,或者在用户点击播放安妮前显示的图像
preload auto-当页面加载后载入整个音频、meta-当页面加载后只载入元数据、none-当页面加载后不载入音频 如果出现该属性,则视频在页面加载时进行加载,并预备播放
src url 要播放的视频的 URL
7.3、source 标签
属性 描述
media media query 规定媒体资源的类型
src url 固定媒体文件的 URL
srcset url 规定要在不同情况下使用的图像的 URL
type numeric value 规定媒体资源的 MIME 类型
7.4、track 字幕标签
属性 描述
default default 规定该轨道是默认的,假如没有选择任何轨道
kind captions chapters、descriptions、metadata、subtitles
label label 轨道的标签或标题
src url 轨道的 URL
srclang langudage_code 轨道的语言,若 kind 属性值是 “subtitles”,则该属性必需的

音频/视频标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>音频/视频</title>
</head>

<body>
  <!-- src 要播放的音频的 URL -->
  <!-- preload 当页面加载后不载入音频 -->
  <!-- controls 向用户显示控件,比如播放按钮 -->
  <!-- loop 音频结束时重新开始播放 -->
  <!-- muted 规定被静音 -->
  <!-- autoplay 规定自动播放 -->
  <audio src="https://www.w3school.com.cn/i/song.ogg" preload="none" controls loop muted autoplay>
    Your browser does not support the audio element.
  </audio>
  <hr>
  <audio controls="controls" autoplay="autoplay">
    <!-- src 规定媒体文件的 URL -->
    <!-- type 规定媒体资源的 MIME 类型 -->
    <source src="https://www.w3school.com.cn/i/song.ogg" type="audio/ogg" />
    <source src="https://www.w3school.com.cn/i/song.mp3" type="audio/mpeg" />
    Your browser does not support the audio element.
  </audio>
  <hr>
  <picture>
    <!-- media 媒体查询 -->
    <!-- srcset 规定要在不同情况下使用的图像的 URL -->
    <source media="(min-width:650px)" srcset="https://www.w3school.com.cn/i/photo/flower-4.jpg">
    <source media="(min-width:465px)" srcset="https://www.w3school.com.cn/i/photo/tulip.jpg">
    <img src="https://www.w3school.com.cn/i/photo/flower.gif" alt="Flowers" style="width:auto;">
  </picture>
  <hr>
  <!-- src 要播放的音频的 URL -->
  <!-- width 设置视频播放器的宽度 -->
  <!-- height 设置视频播放器的高度 -->
  <!-- preload 当页面加载后不载入音频 -->
  <!-- controls 向用户显示控件,比如播放按钮 -->
  <!-- loop 音频结束时重新开始播放 -->
  <!-- muted 规定被静音 -->
  <!-- autoplay 规定自动播放 -->
  <!-- poster 规定视频下载时显示的图像,火灾用户点击播放按钮前显示的图像 -->
  <video src="https://www.w3school.com.cn/i/movie.ogg" width="500px" height="400px" preload="none" controls loop muted
    poster="https://www.w3school.com.cn/i/photo/tulip.jpg">
    您的浏览器不支持 video 标签。
  </video>
  <hr>
</body>

</html>

8、链接标签

标签 描述
a 定义锚
link 定义文档与外部资源的关系
nav 定义导航链接
8.1、a 链接标签
属性 描述
download filename 规定被下载的超链接目标
href URL 规定链接指向的页面的 URL
hreflang langudage_code 规定被链接文档的语言
media media_query 规定被链接文档是为何种媒介/设备优化的
ping list_of_URLs 规定以空格分隔的 URL 列表,当点击链接时,浏览器将发送带有正文 ping 的 post 请求。通常用于跟踪
rel text 规定当前文档与被链接文档之间的关系
target _blank、_parent、_self、_top 规定在何处打开链接文档
type MIME type 规定被链接文档的 MIME 类型

链接标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <!-- rel 规定当前文档与被链接文档之间的关系。文档的外部样式表 -->
  <!-- type 规定被链接文档的 MIME 类型 -->
  <!-- href 规定被链接文档的位置 -->
  <link rel="stylesheet" type="text/css" href="theme.css">
  <title>链接</title>
</head>

<body>
  <!-- nav 标签定义导航链接部分 -->
  <nav>
    <!-- href 规定链接指向的页面的 URL -->
    <!-- download 规定被下载的超链接目标 -->
    <!-- hreflang 规定链接文档的语言 -->
    <!-- ping 规定以空格分隔的 URL 列表,当点击链接时,浏览器将发送带有正文 ping 的 post 请求 -->
    <!-- target 在新页面打开 -->
    <!-- type 规定被链接文档的 MIME 类型 -->
    <a href="https://www.w3school.com.cn/i/w3school_logo_white.gif" download="w3logo" hreflang="zh"
      ping="https://www.w3school.com.cn/trackpings" type="image/*" target="_blank">下载图片</a>
  </nav>
</body>

</html>

9、列表标签

标签 描述
ul 定义无序列表
ol 定义有序列表
li 定义列表中的项目
dl 定义列表
dt 定义列表中的项目
dd 描述列表中的项目

列表标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>列表</title>
</head>

<body>
  <!-- ul 定义无序列表 -->
  <ul>
    <!-- li 定义列表项目 -->
    <li>苹果</li>
    <li>西瓜</li>
    <li>香蕉</li>
  </ul>
  <!-- reversed 规定列表顺序为降序 -->
  <!-- start 规定有序列表的起始值 -->
  <!-- type 规定在列表中使用的标记类型 -->
  <ol reversed start="5" type="A">
    <li>咖啡</li>
    <li>牛奶</li>
    <li>茶</li>
  </ol>
  <!-- dl 定义列表 -->
  <dl>
    <!-- dt 定义列表中的项目 -->
    <dt>计算机</dt>
    <!-- dd 定义列表中项目的描述 -->
    <dd>用来计算的仪器 ... ...</dd>
    <dt>显示器</dt>
    <dd>以视觉方式显示信息的装置 ... ...</dd>
  </dl>
</body>

</html>

10、table 表格标签

标签 描述
table 定义表格
caption 定义表格标题
thead 定义表格中表头内容
tbody 定义表格中的主体内容
tfoot 定义表格中的脚注内容
tr 定义表格中的行
th 定义表格中的表头单元格
td 定义表格中的单元
10.1、table 标签属性
属性 描述
border pixels 规定表格边框的宽度
cellpadding pixels、% 规定单元边沿与其内容之间的空白
cellspacing pixels、% 规定单元格之间的空白
width pixels、% 规定表格的宽度
summary text 规定表格的摘要
frame void(不显示)、above(上)、rhs(右)、below(下)、lhs(左)、hsides(上下)vsides(左右)、box(全部)、border(全部) 规定外侧边框的哪个部分是可见的
10.2、tr、thead、tbody、tfoot 标签属性
属性 描述
align right、left、center、justify、char 定义表格行的内容对齐方式
valign top(上)、middle(中)、bottom(下)、baseline(基线) 规定表格行中内容的垂直对齐方式
10.3、th\td 标签属性
属性 描述
align left、right、center、justify 规定单元格内容的水平对齐方式
colspan number 设置单元格可横跨的列数
rowspan number 规定单元格可横跨的行数
scope col、colgroup、row、rowgroup 定义将表头数据与单元数据相关联的方法
valign top、middle、bottom、baseline 规定单元格内容的垂直排列方式

表格标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>列表</title>
</head>

<body>
  <!-- table 定义表格 -->
  <!-- border 定义表格边框宽度 -->
  <!-- width 定义表格宽度 -->
  <!-- cellpadding 规定单元边沿与其内容之间的空白 -->
  <!-- cellspacing 规定单元格之间的空白 -->
  <!-- summary 规定表格的摘要 -->
  <!-- frame 规定外侧边框的哪个部分是可见的 -->
  <table border="1" width="100%" cellpadding="10" cellspacing="5" style="height: 80vh;" summary="18班成绩单" frame="void">
    <!-- 定义表格标题 -->
    <caption>18班成绩单</caption>
    <!-- thead 定义表格中表头内容 -->
    <thead>
      <!-- tr 定义表格中的行 -->
      <tr>
        <!-- th 定义表格中的表头单元格 -->
        <th>姓名</th>
        <th>年龄</th>
        <th>成绩</th>
      </tr>
    </thead>
    <!-- tbody 定义表格中的主体内容 -->
    <tbody valign="top">
      <!-- valign 规定表格行中内容的垂直对齐方式 -->
      <tr valign="middle">
        <!-- td 定义表格中的单元 -->
        <!-- align 定义表格行的内容对齐方式 -->
        <td align="left">黄天霸</td>
        <td align="center">15</td>
        <!-- rowspan 规定单元格可横跨的行数 -->
        <td align="right" rowspan="2">85</td>
      </tr>
      <tr valign="baseline">
        <td>黄飞虎</td>
        <td>18</td>
      </tr>
      <tr>
        <td>黄飞虎</td>
        <td>19</td>
        <td>90</td>
      </tr>
      <tr valign="bottom">
        <td>黄飞虎</td>
        <td>20</td>
        <td>100</td>
      </tr>
    </tbody>
    <!-- tfoot 定义表格中的脚注内容 -->
    <tfoot>
      <tr>
        <!-- colspan 规定单元格可横跨的列数 -->
        <td colspan="2">平均成绩</td>
        <td>90</td>
      </tr>
    </tfoot>
  </table>
</body>

</html>

11、样式和语义

标签 描述
style 定义文档的样式信息
div 定义文档中的分区或节,块级元素
span 定义文档中的节,行内元素
header 定义 section 或 page 的页眉
footer 定义 section 或 page 的页脚
main 定义文档的主要内容
section 定义文章中的节
article 定义文章
aside 定义页面内容之外的内容
details 定义对话框或窗口
summary 为 details 元素定义可见的标题
data 添加给定内容的机器可读翻译

样式和语义标签基本使用

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <title>样式和语义标签</title>
  <!-- 定义文档的样式信息 -->
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    .container {
      height: 100vh;
      display: flex;
      flex-direction: column;
    }

    header {
      height: 48px;
      line-height: 48px;
      background-color: aqua;
      text-align: center;
    }

    nav {
      height: 40px;
      line-height: 40px;
      background-color: beige;
    }

    ul {
      display: flex;
      justify-content: space-around;
      align-items: center;
      list-style: none;
    }

    main {
      flex: 1;
      display: flex;
    }

    article {
      flex: 1;
      background-color: cornflowerblue;
    }

    aside {
      width: 300px;
      padding: 16px;
      background-color: aquamarine;
    }

    footer {
      height: 40px;
      line-height: 40px;
      text-align: center;
      background-color: burlywood;
    }
  </style>
</head>

<body>
  <!-- div 定义文档中的节 -->
  <div class="container">
    <!-- 定义页眉 -->
    <header>
      <!-- h1 定义标题 -->
      <h1>标题一</h1>
    </header>
    <!-- nav 定义菜单 -->
    <nav>
      <!-- ul 定义无序列表 -->
      <ul>
        <!-- data 添加给定内容的机器可读翻译 -->
        <li><data value="21051">菜单1</data></li>
        <li><data value="21052">菜单2</data></li>
        <li><data value="21053">菜单3</data></li>
        <li><data value="21054">菜单4</data></li>
        <li><data value="21055">菜单5</data></li>
        <li><data value="21056">菜单6</data></li>
        <li><data value="21057">菜单7</data></li>
        <li><data value="21058">菜单8</data></li>
        <li><data value="21059">菜单9</data></li>
      </ul>
    </nav>
    <!-- main 定义文档的主要内容 -->
    <main>
      <!-- article 定义文章 -->
      <article>
        <!-- section 定义文档中的节 -->
        <section></section>
      </article>
      <!-- aside 定义页面内容之外的内容 -->
      <aside>
        <h4>Epcot Center</h4>
        <span>The Epcot Center is a theme park in Disney World, Florida</span>
      </aside>
    </main>
    <!-- footer 定义页脚 -->
    <footer>
      <!-- details 描述文档或文档某个部分的细节 -->
      <details>
        <!-- summary 定义 details 的标题 -->
        <summary>COPYRIGHT@测试</summary>
        <p>All pages and graphics on this web site are the property of W3School</p>
      </details>
    </footer>
  </div>
</body>

</html>

12、元信息

标签 描述
head 定义关于文档的信息
meta 关于 HTML 文档的元信息
base 定义页面中所有链接的默认地址或默认目标

meta属性

属性 描述
charset character_set 规定 HTML 文档的字符编码
content text 定义与 http-equiv 或 name 属性相关的元信息
http-equiv content-security-policy(规定文档的内容策略)、content-type(规定文档的字符编码)、default-type(规定要使用的首选样式表)、refresh(定义文档自我刷新的时间间隔) 把 content 属性关联到 HTTP 头部
name author(规定文档作者的姓名)、description(规定页面的描述。搜索引擎可以选择此描述来显示搜索结果)、generator(规定用于生成文档的软件包之一)、keywords(规定以逗号分隔的关键字列表)、viewport(控制视口) 把 content 属性关联到一个名称
scheme some_text 定义用于翻译 content 属性值的格式

元信息标签基本使用

<!DOCTYPE html>
<html lang="en">
<!-- head 定义关于文档的信息 -->

<head>
  <!-- meta 定义关于 HTML 文档的元信息 -->
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <!-- 定义文档和它的关键词 -->
  <meta name="description" content="HTML examples">
  <meta name="keywords" content="HTML,DHTML,CSS,XML,XHTML,JavaScript">
  <!-- 定义文档描述,表示创作者 -->
  <meta name="author" content="w3school.com,cn">
  <!-- 重定向 -->
  <meta http-equiv="Refresh" content="5;url=http://www.w3school.com.cn">
  <!-- title 定义文档的标题 -->
  <title>元信息</title>
  <!-- base 页面上所有链接规定默认地址 -->
  <base href="http://www.w3school.com.cn">
  <!-- base 页面上所有链接规定默认目标 -->
  <base target="_blank">
</head>

<body>
  <!-- a 默认打开 http://www.w3school.com.cn -->
  <!-- a 默认在新页面打开 _blank -->
  <a href="#">打开默认地址</a>
</body>

</html>

13、编程标签

标签 描述
script 定义客户端脚本
noscript 定义针对不支持客户端脚本的用户的替代内容

script 属性

属性 描述
async async 规定异步执行脚本
charset charset 规定在外部脚本文件中使用的字符编码
corssorigin anonymous、use-credentials 将请求模式设置为 HTTP CORS 请求
defer defer 规定是否对脚本执行进行延迟,直到页面加载为止
src 规定外部脚本文件的 URL
type MIME-type 指示脚本的 MIME 类型

14、全局属性

属性 描述
accesskey 规定激活元素的快捷键
class 规定元素的一个或多个类型
contenteditable 规定元素内容是否可编辑
contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示
data-* 用于存储页面或应用程序的私有定制数据
dir 规定元素中内容的文本方向
draggable 规定元素是否可拖动
dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接
hidden 规定元素仍未或不再相关
id 规定元素的唯一id
lang 规定元素内容的语言
spellcheck 规定是否对元素进行拼写和语法检查
style 规定元素的行内 CSS 样式
tabindex 规定元素的 tab 键次序
title 规定有关元素的额外信息
translate 规定是否应该翻译元素内容
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐