# HTML
# 参考文档
# 结构
- 一个控件必须指定它的 name 属性,这样才可以作为键值对,发送到服务器。控件的 name 就是键值对的 K。
- 所有元素分为两类
- 块元素 (block),默认占据一行空间,宽度 100%,自动换行。
- 行内元素(inline)。
# 骨架
<!doctype>
表示文档类型,告诉浏览器如何解析网页。- 一般声明为 html 就可以了,比如
<!doctype html>
。
- 一般声明为 html 就可以了,比如
<html>
是网页的顶层容器,即标签树结构的顶层节点,也称为根元素(root element),其他元素都是它的子元素。一个网页只能有一个<html>
标签。- lang 属性,表示网页内容默认的语言。
<html lang="zh-CN">
,如果是英文内容的话,那么将 zh-CN 改成 en。
<head>
标签是一个容器标签,用于放置网页的元信息。它的内容不会出现在网页上,而是为网页渲染提供额外信息。<head>
是<html>
的第一个子元素。如果网页不包含<head>
,浏览器会自动创建一个。<head>
的子元素有 7 个:<meta>
:设置网页的元数据,用于设置或说明网页的元数据,必须放在<head>
里面,并且是内容的最前面。charset
属性,<meta charset="utf-8">
,注意,这里声明的编码方式,应该与网页实际的编码方式一致,即声明了 utf-8,网页就应该使用 UTF-8 编码保存。如果这里声明了 utf-8,实际却是使用另一种编码(比如 GB2312),并不会导致浏览器的自动转码,网页可能会显示为乱码。name
属性,content
属性,name
属性表示元数据的名字,content
属性表示元数据的值。它们合在一起使用,就可以为网页指定一项元数据。比如:<meta name="description" content="HTML 语言入门">
,这里的description
可以是keywords
、author
,分别表示描述、网页内容关键字、作者。http-equiv
属性,content
属性,用来覆盖 HTTP 回应的头信息字段,content
属性是对应的字段内容。这两个属性与 HTTP 协议相关。比如:<meta http-equiv="Content-Type" content="Type=text/html; charset=utf-8">
。
<link>
:连接外部样式表。<title>
:设置网页标题。<style>
:放置内嵌的样式表。<script>
:引入脚本。<noscript>
:浏览器不支持脚本时,所要显示的内容。<base>
:设置网页内部相对 URL 的计算基准。
<body>
标签是一个容器标签,用于放置网页的主体内容。浏览器显示的页面内容,都放置在它的内部。它是<html>
的第二个子元素,紧跟在<head>
后面。
# 内容骨架
页面分成页眉(<header>
)、主体(<main>
)、页尾(<footer>
)三个部分。
<header>
标签可以用在多个场景,既可以表示整个网页的头部,也可以表示一篇文章或者一个区块的头部。- 如果用在网页的头部,就称为“页眉”。网站导航和搜索栏通常会放在
<header>
里面。<header>
里面不能包含另一个<header>
或<footer>
。
- 如果用在网页的头部,就称为“页眉”。网站导航和搜索栏通常会放在
<footer>
标签表示网页、文章或章节的尾部。- 如果用于整张网页的尾部,就称为“页尾”,通常包含版权信息或者其他相关信息。
<footer>
不能嵌套,即内部不能放置另一个<footer>
,也不能放置<header>
。
- 如果用于整张网页的尾部,就称为“页尾”,通常包含版权信息或者其他相关信息。
<main>
标签表示页面的主体内容。- 一个页面只能有一个
<main>
。
- 一个页面只能有一个
<article>
标签表示页面里面一段完整的内容,即使页面的其他部分不存在,也具有独立使用的意义,通常用来表示一篇文章或者一个论坛帖子。<aside>
标签用来放置与网页或文章主要内容间接相关的部分。- 网页级别的
<aside>
,可以用来放置侧边栏,但不一定就在页面的侧边;文章级别的<aside>
,可以用来放置评论或注释。
- 网页级别的
<section>
标签表示一个含有主题的独立部分。- 通常用在文档里面表示一个章节,比如
<article>
可以包含多个<section>
。<section>
总是多个一起使用,一个页面不能只有一个<section>
。
- 通常用在文档里面表示一个章节,比如
<nav>
标签用于放置页面或文档的导航信息。
# 文本标签
<div>
标签是无语义的标签。- 在 HTML 退出语义标签之前,经常是多级的 div 标签进行嵌套使用。但是现在有了语义标签,优先使用语义标签。
<p>
标签是段落标签,块元素。<span>
,无语义标签,是行内标签。<br>
,换行,<wbr>
,告诉浏览器在哪里进行换行。<hr>
,分割线。<b>
和<strong>
这两个标签都是加粗,但是<b>
是无语义的,建议使用<strong>
。<pre>
是一个块级元素,表示保留原来的格式(preformatted),即浏览器会保留该标签内部原始的换行和空格。- 浏览器默认以等宽字体显示标签内容。
- 注意,HTML 标签在
<pre>
里面还是起作用的。<pre>
只保留空格和换行,不会保留 HTML 标签。
<em>
和<i>
,重要,即斜体显示<i>
无语义,建议使用<em>
。
<sub>
将内容变成下标,<sup>
将内容变成上标,<var>
表示内容是公式或者代码,斜体显示。<u>
,下划线,<s>
,删除线。<blockquote>
是一个块级标签,表示引用他人的话。- 浏览器会在样式上,与正常文本区别显示。
- 有一个
cite
属性,它的值是一个网址,表示引言来源,不会显示在网页上。
<q>
是一个行内标签,也表示引用。- 它与
<blockquote>
的区别,就是它不会产生换行。会给内容加上双引号。
- 它与
<cite>
标签表示引言出处或者作者,浏览器默认使用斜体显示这部分内容。<code>
标签是一个行内元素,表示标签内容是计算机代码,浏览器默认会以等宽字体显示。- 如果要表示多行代码,
<code>
标签必须放在<pre>
内部。<code>
本身仅表示一行代码。
- 如果要表示多行代码,
<kbd>
标签是一个行内元素,原意是用户从键盘输入的内容,现在扩展到各种输入,包括语音输入。- 浏览器默认以等宽字体显示标签内容。
<samp>
标签是一个行内元素,表示计算机程序输出内容的一个例子。- 浏览器默认以等宽字体显示。
<mark>
是一个行内标签,表示突出显示的内容。- Chrome 浏览器默认会以亮黄色背景,显示该标签的内容。
<small>
是一个行内标签,浏览器会将它包含的内容,以小一号的字号显示,不需要使用 CSS 样式。- 它通常用于文章附带的版权信息或法律信息。
<time>
是一个行内标签,为跟时间相关的内容提供机器可读的格式。<data>
和除了时间以外的数据相关。
<address>
标签是一个块级元素,表示某人或某个组织的联系方式。- 内容不得有非联系信息,不能嵌套,并且内部不能有标题标签(
<h1>
~<h6>
),也不能有<article>
、<aside>
、<section>
、<nav>
、<header>
、<footer>
等标签。 - 通常,它会放在
<footer>
里面。
- 内容不得有非联系信息,不能嵌套,并且内部不能有标题标签(
<abbr>
标签是一个行内元素,表示标签内容是一个缩写。title
属性给出缩写的完整形式,或者缩写的描述。
<ins>
标签是一个行内元素,表示原始文档添加(insert)的内容。<del>
与之类似,表示删除(delete)的内容。它们通常用于展示文档的删改。- 浏览器默认为
<del>
标签的内容加上删除线,为<ins>
标签的内容加上下划线。
<dfn>
是一个行内元素,表示标签内容是一个术语(definition),本段或本句包含它的定义。<ruby>
标签表示文字的语音注释,主要用于东亚文字,比如汉语拼音和日语的片假名。它默认将语音注释,以小字体显示在文字的上方。<rp>
标签的用处,是为不支持语音注释的浏览器,提供一个兼容方案。对于那些支持语音注释的浏览器,该标签的内容不显示。<rp>
标签一般用于放置圆括号,如果遇到不支持的浏览器,就会将语音注释显示在括号里面。<rt>
标签用于放置语音注释。<rb>
标签用于划分文字单位,与语音注释一一对应。
<bdo>
标签是一个行内元素,表示文字方向与网页主体内容的方向不一致。- dir 属性,指定具体的文字方向。它有两个值,ltr 表示从左到右,rtl 表示从右到左。
<bdi>
标签用于不确定文字方向的情况。- 比如,网页有一个部分是用户输入的内容,但是不知道输入内容的文字方向。这种情况就可以使用
<bdi>
标签,告诉浏览器,不确定文字的方向,由浏览器自己决定。
- 比如,网页有一个部分是用户输入的内容,但是不知道输入内容的文字方向。这种情况就可以使用
# 列表标签
<ol>
标签是一个有序列表容器(ordered list)。reversed
属性,倒序。start
属性的值是一个整数,表示数字列表的起始编号。type
序号类型:- a:小写字母
- A:大写字母
- i:小写罗马数字
- I:大写罗马数字
- 1:整数(默认值)
<ul>
标签是一个无序列表容器(unordered list)。<li>
表示列表项<li>
有一个 value 属性,定义当前列表项的编号,后面列表项会从这个值开始编号。
<dl>
标签是一个块级元素,表示一组术语的列表(description list)。- 术语名(description term)由
<dt>
标签定义 - 术语解释(description detail)由
<dd>
标签定义。 <dl>
常用来定义词汇表。<dt>
和<dd>
都是块级元素<dd>
默认会在<dt>
下方缩进显示。
- 术语名(description term)由
# 图像标签
<img>
标签用于插入图片。- 单独使用,没有闭合标签。
<img>
可以放在<a>
标签内部,使得图片变成一个可以点击的链接。 alt
:用来设定图片的文字说明。- 图片不显示时(比如下载失败,或用户关闭图片加载),图片的位置上会显示该文本。
width
:height
属性,图片默认以原始大小插入网页,width
属性和height
属性可以指定图片显示时的宽度和高度,单位是像素或百分比。- 注意,一旦设置了这两个属性,浏览器会在网页中预先留出这个大小的空间,不管图片有没有加载成功。不过,由于图片的显示大小可以用 CSS 设置,所以不建议使用这两个属性。
loading
:可以指定图片的懒加载- 即图片默认不加载,只有即将滚动进入视口,变成用户可见时才会加载,这样就节省了带宽。
auto
:浏览器默认行为- 等同于不使用
loading
属性。
- 等同于不使用
lazy
:启用懒加载。eager
:立即加载资源- 无论它在页面上的哪个位置。
crossorigin
:用来告诉浏览器,是否采用跨域的形式下载图片,默认是不采用。- 有时,图片和网页属于不同的网站,网页加载图片就会导致跨域请求,对方服务器可能要求跨域认证。
- 简单说,只要打开了这个属性,HTTP 请求的头信息里面,就会加入 origin 字段,给出请求发出的域名,不打开这个属性就不加。
anonymous
:跨域请求不带有用户凭证(通常是 Cookie)。use-credentials
:跨域请求带有用户凭证。
- 单独使用,没有闭合标签。
<figure>
标签可以理解为一个图像区块,将图像和相关信息封装在一起。<figcaption>
是它的可选子元素,表示图像的文本描述,通常用于放置标题。- 可以出现多个。
# 链接标签
- 链接通过
<a>
标签表示,用户点击后,浏览器会跳转到指定的网址。href
属性给出链接指向的网址。- 它的值应该是一个 URL 或者锚点。
hreflang
属性给出链接指向的网址所使用的语言,纯粹是提示性的,没有实际功能。title
属性给出链接的说明信息。- 鼠标悬停在链接上方时,浏览器会将这个属性的值,以提示块的形式显示出来。
target
属性指定如何展示打开的链接。- 它可以是在指定的窗口打开,也可以在
<iframe>
里面打开。 - 有以下属性:
_self
:当前窗口打开,这是默认值。_blank
:新窗口打开。_parent
:上层窗口打开,这通常用于从父窗口打开的子窗口,或者<iframe>
里面的链接。- 如果当前窗口没有上层窗口,这个值等同于
_self
。
- 如果当前窗口没有上层窗口,这个值等同于
_top
:顶层窗口打开。- 如果当前窗口就是顶层窗口,这个值等同于
_self
。
- 如果当前窗口就是顶层窗口,这个值等同于
- 它可以是在指定的窗口打开,也可以在
rel
属性说明链接与当前页面的关系。alternate
:当前文档的另一种形式- 比如翻译。
author
:作者链接。bookmark
:用作书签的永久地址。external
:当前文档的外部参考文档。help
:帮助链接。license
:许可证链接。next
:系列文档的下一篇。nofollow
:告诉搜索引擎忽略该链接,主要用于用户提交的内容,防止有人企图通过添加链接,提高该链接的搜索排名。noreferrer
:告诉浏览器打开链接时,不要将当前网址作为 HTTP 头信息的Referer
字段发送出去,这样可以隐藏点击的来源。noopener
:告诉浏览器打开链接时,不让链接窗口通过 JavaScript 的window.opener
属性引用原始窗口,这样就提高了安全性。prev
:系列文档的上一篇。search
:文档的搜索链接。tag
:文档的标签链接。
ping
属性指定一个网址,用户点击的时候,会向该网址发出一个 POST 请求,通常用于跟踪用户的行为。type
属性给出链接 URL 的 MIME 类型- 比如到底是网页,还是图像或文件。
- 它是纯粹提示性的属性,没有实际功能。
download
属性表明当前链接用于下载,而不是跳转到另一个 URL。- 注意,
download
属性只在链接与网址同源时,才会生效。 - 也就是说,链接应该与网址属于同一个网站。
- 如果
download
属性设置了值,那么这个值就是下载的文件名。
- 注意,
mailto
协议<a href="mailto:foo@bar.com?cc=test@test.com&subject=The%20subject&body=The%20body">发送邮件</a>
tel
协议<a href="tel:13312345678">13312345678</a>
- 上面代码在手机中,点击链接会唤起拨号界面,可以直接拨打指定号码。
<link>
标签主要用于将当前网页与相关的外部资源联系起来,通常放在元素里面。最常见的用途就是加载 CSS 样式表。<link rel="stylesheet" type="text/css" href="theme.css">
- 还可以加载网站的 favicon 图标文件。
<link rel="icon" href="/favicon.ico" type="image/x-icon">
rel
属性表示外部资源与当前文档之间的关系,是<link>
标签的必需属性。preload
预加载<link rel="preload" href="style.css" as="style">
的意思是,要求浏览器提前下载并缓存 style.css。as
属性指定加载资源的类型,它的值一般有下面几种:- "script"
- "style"
- "image"
- "media"
- "document"
<script>
用于加载脚本代码,目前主要是加载 JavaScript 代码。src
属性给出外部脚本的地址。
<noscript>
标签用于浏览器不支持或关闭 JavaScript 时,所要显示的内容。- 用户关闭 JavaScript 可能是为了节省带宽,以延长手机电池寿命,或者为了防止追踪,保护隐私。
# 多媒体标签
<video>
标签是一个块级元素,用于放置视频。- 如果浏览器支持加载的视频格式,就会显示一个播放器,否则显示
<video>
内部的子元素。
- 如果浏览器支持加载的视频格式,就会显示一个播放器,否则显示
# iframe
<iframe>
标签生成一个指定区域,在该区域中嵌入其他网页。- 它是一个容器元素,如果浏览器不支持
<iframe>
,就会显示内部的子元素。sandbox
可以当作布尔属性使用,表示打开所有限制。loading
,懒加载。如果<iframe>
是隐藏的,则loading
属性无效,将会立即加载。
# 表格
<table>
是一个块级容器标签,所有表格内容都要放在这个标签里面。
<caption>
总是<table>
里面的第一个子元素,表示表格的标题。- 该元素是可选的。
<thead>
、<tbody>
、<tfoot>
都是块级容器元素,且都是<table>
的一级子元素,分别表示表头、表体和表尾。<colgroup>
是<table>
的一级子元素,用来包含一组列的定义。<col>
是<colgroup>
的子元素,用来定义表格的一列。<col>
不仅是一个单独使用的标签,没有结束标志,而且还是一个空元素,没有子元素。- 它的主要作用,除了申明表格结构,还可以为表格附加样式。
<tr>
标签表示表格的一行(table row)。- 如果表格有
<thead>
、<tbody>
、<tfoot>
,那么<tr>
就放在这些容器元素之中,否则直接放在<table>
的下一级。
- 如果表格有
<th>
和<td>
都用来定义表格的单元格。- 其中,
<th>
是标题单元格,<td>
是数据单元格。 colspan
属性,rowspan
属性。headers
属性- 如果表格很大,单元格很多,源码里面会看不清,哪个单元格对应哪个表头,这时就可以使用 headers 属性。
scope
属性只有<th>
标签支持,一般不在<td>
标签使用,表示该<th>
单元格到底是栏的标题,还是列的标题。row
:该行的所有单元格,都与该标题单元格相关。col
:该列的所有单元格,都与该标题单元格相关。rowgroup
:多行组成的一个行组的所有单元格,都与该标题单元格相关,可以与rowspan
属性配合使用。colgroup
:多列组成的一个列组的所有单元格,都与该标题单元格相关,可以与colspan
属性配合使用。auto
:默认值,表示由浏览器自行决定。
- 其中,
# 表单
<form>
标签用来定义一个表单,所有表单内容放到这个容器元素之中。<form>
有以下属性:accept-charset
:服务器接受的字符编码列表,使用空格分隔- 默认与网页编码相同。
action
:服务器接收数据的 URL。autocomplete
:如果用户没有填写某个控件,浏览器是否可以自动填写该值。- 它的可能取值分别为 off(不自动填写)和 on(自动填写)。
method
:提交数据的 HTTP 方法,可能的值有 post(表单数据作为 HTTP 数据体发送),get(表单数据作为 URL 的查询字符串发送),dialog(表单位于<dialog>
内部使用)。enctype
:当 method 属性等于 post 时,该属性指定提交给服务器的 MIME 类型。- 可能的值为:
- application/x-www-form-urlencoded(默认值)
- multipart/form-data(文件上传的情况)
- text/plain。
- 指定了采用 POST 方法提交数据时,浏览器给出的数据的 MIME 类型。参数如下:
- application/x-www-form-urlencoded 是默认类型,控件名和控件值都要转义(空格转为 + 号,非数字和非字母转为 %HH 的形式,换行转为CR LF),控件名和控件值之间用 = 分隔。控件按照出现顺序排列,控件之间用 & 分隔。
- multipart/form-data 主要用于文件上传。这个类型上传大文件时,会将文件分成多块传送,每一块的 HTTP 头信息都有 Content-Disposition 属性,值为 form-data,以及一个 name 属性,值为控件名。
- 可能的值为:
name
:表单的名称,应该在网页中是唯一的。- 注意,如果一个控件没有设置 name 属性,那么这个控件的值就不会作为键值对,向服务器发送。
novalidate
:布尔属性,表单提交时是否取消验证。target
:在哪个窗口展示服务器返回的数据- 可能的值有
_self
(当前窗口)_blank
(新建窗口)_parent
(父窗口)_top
(顶层窗口)<iframe>
标签的 name 属性(即表单返回结果展示在<iframe>
窗口)。
- 可能的值有
<fieldset>
标签是一个块级容器标签,表示控件的集合,用于将一组相关控件组合成一组。<legend>
标签用来设置<fieldset>
控件组的标题,通常是<fieldset>
内部的第一个元素,会嵌入显示在控件组的上边框里面。disabled
:布尔属性- 一旦设置会使得
<fieldset>
内部包含的控件都不可用,都变成灰色状态。
- 一旦设置会使得
form
:指定控件组所属的<form>
- 它的值等于
<form>
的 id 属性。
- 它的值等于
name
:该控件组的名称。
<label>
的 for 属性关联相对应的控件,它的值是对应控件的 id 属性。所以,控件最好设置 id 属性。控件也可以放在<label>
之中,这时不需要 for 属性和 id 属性。form 属性,关联表单的 id 属性。设置了该属性后,<label>
可以放置在页面的任何位置,否则只能放在<form>
内部。<input>
标签是一个行内元素,用来接收用户的输入。它是一个单独使用的标签,没有结束标志。autofocus
:布尔属性,是否在页面加载时自动获得焦点。disabled
:布尔属性,是否禁用该控件。一旦设置,该控件将变灰,用户可以看到,但是无法操作。form
:关联表单的 id 属性。设置了该属性后,控件可以放置在页面的任何位置,否则只能放在<form>
内部。list
:关联的<datalist>
的 id 属性,设置该控件相关的数据列表,详见后文。name
:控件的名称,主要用于向服务器提交数据时,控件键值对的键名。- 注意,只有设置了 name 属性的控件,才会向服务器提交,不设置就不会提交。
readonly
:布尔属性,是否为只读。required
:布尔属性,是否为必填。type
:控件类型text
,文本类型maxlength
:可以输入的最大字符数,值为一个非负整数。minlength
:可以输入的最小字符数,值为一个非负整数,且必须小于 maxlength。pattern
:用户输入必须匹配的正则表达式- 比如要求用户输入 4 个~ 8 个英文字符,可以写成
pattern="[a-z]{4,8}"
。 - 如果用户输入不符合要求,浏览器会弹出提示,不会提交表单。
- 比如要求用户输入 4 个~ 8 个英文字符,可以写成
placeholder
:输入字段为空时,用于提示的示例值。- 只要用户没有任何字符,该提示就会出现,否则会消失。
readonly
:布尔属性,表示该输入框是只读的,用户只能看,不能输入。size
:表示输入框的显示长度有多少个字符宽- 它的值是一个正整数,默认等于 20。
- 超过这个数字的字符,必须移动光标才能看到。
spellcheck
:是否对用户输入启用拼写检查- 可能的值为 true 或 false。
search
是一个用于搜索的文本输入框,基本等同于type="text"
。- 某些浏览器会在输入的时候,在输入框的尾部显示一个删除按钮,点击就会删除所有输入,让用户从头开始输入。
button
,是没有默认行为的按钮,通常脚本指定 click 事件的监听函数来使用。value
:控件的值。
checkbox
:同时选中两个复选框,提交的时候就会有两个 name 属性,比如interest=coding&interest=music
。radio
:多个单选框的 name 属性的值,应该都是一致的。
# 其他标签
<dialog>
标签表示一个可以关闭的对话框。- 默认情况下,对话框是隐藏的,不会在网页上显示。
- 如果要让对话框显示,必须加上
open
属性。
# 空格和换行
- 标签内容的头部和尾部的空格,忽略不计。
- 内容之间有多个连续空格,浏览器会将它们合并成一个。
- 浏览器会将文本里面的换行符(
\n
)和回车符(\r
),替换成空格。 - URL
parameter
,?a=1&b=2
,多个参数使用&
进行连接。- 锚点,
#
锚点位置,放在地址最后。- 锚点名称通过元素的 id 命名。
- 转义,在字符的十六进制的 ASCII 码前面加上
%
,例如:- 空格:
%20
!
:%21
#
:%23
$
:%24
&
:%26
'
:%27
(
:%28
)
:%29
*
:%2A
+
:%2B
,
:%2C
/
:%2F
:
:%3A
;
:%3B
=
:%3D
?
:%3F
@
:%40
[
:%5B
]
:%5D
- 空格:
- 既不属于合法字符、也不属于保留字符的其他字符(比如汉字),理论上不需要手动转义,可以直接写在 URL 里面
- 比如
www.example.com/中国.html
,浏览器会自动将它们转义,发给服务器。 - 转义方法是使用这些字符的十六进制 UTF-8 编码,每两位算作一组,然后每组头部添加百分号(
%
)。
- 比如
<base>
标签指定网页内部的所有相对 URL 的计算基准。- 整张网页只能有一个
<base>
标签,而且只能放在<head>
里面。 - 它是单独使用的标签,没有闭合标签。
- 整张网页只能有一个
# 元素属性 attribute
id
属性是元素在网页内的唯一标识符。- 比如,网页可能包含多个
<p>
标签,id
属性可以指定每个<p>
标签的唯一标识符。 id
属性的值必须是全局唯一的,同一个页面不能有两个相同的id
属性。- 另外,
id
属性的值不得包含空格。 id
属性的值还可以在最前面加上#
,放到 URL 中作为锚点,定位到该元素在网页内部的位置。- 比如,用户访问网址
https://foo.com/index.html#bar
的时候,浏览器会自动将页面滚动到 bar 的位置,让用户第一眼就看到这部分内容。
- 比如,用户访问网址
- 比如,网页可能包含多个
class
属性用来对网页元素进行分类。- 多个 class,之间使用空格分隔。
- 如果不同元素的 class 属性值相同,就表示它们是一类的。
title
属性用来为元素添加附加说明。- 大多数浏览器中,鼠标悬浮在元素上面时,会将
title
属性值作为浮动提示,显示出来。
- 大多数浏览器中,鼠标悬浮在元素上面时,会将
tabindex
属性的值是一个整数,表示用户按下 Tab 键的时候,网页焦点转移的顺序。- 负整数:该元素可以获得焦点,但是不参与使用 Tab 键进行遍历。
- 0,参与遍历。
- 正整数,按照数字顺序。
accesskey
属性指定网页元素获得焦点的快捷键,值必须是单个的可打印字符。- 注意,
accesskey
如果跟操作系统或浏览器级别的快捷键有冲突,这时不会生效。
- 注意,
style
属性用来指定当前元素的 CSS 样式。hidden
是一个布尔属性,表示当前的网页元素不再跟页面相关,因此浏览器不会渲染这个元素,所以就不会在网页中看到它。- CSS 的可见性设置,高于
hidden
属性。 - 如果 CSS 设为该元素可见,
hidden
属性将无效。
- CSS 的可见性设置,高于
lang
,指定页面元素使用的语言dir
,表示文字阅读的方向。
contenteditable
,网页可编辑。- 例如:
contenteditable="true"
。 - 该属性是枚举属性,不是布尔属性,规范的写法是最好带上属性值。
- 例如:
spellcheck
属性就表示,是否打开拼写检查。true
:打开拼写检查。false
:关闭拼写检查。- 枚举属性,如果没有指定这个属性,浏览器将自行决定是否打开拼写检查。对于那些不可编辑的元素,该属性无效。
# 讨论区
由于评论过多会影响页面最下方的导航,故将评论区做默认折叠处理。
点击查看评论区内容,渴望您的宝贵建议~
← HTML 总览 Web Storage →