# HTML

# 参考文档

# 结构

  • 一个控件必须指定它的 name 属性,这样才可以作为键值对,发送到服务器。控件的 name 就是键值对的 K。
  • 所有元素分为两类
    • 块元素 (block),默认占据一行空间,宽度 100%,自动换行。
    • 行内元素(inline)。

# 骨架

  • <!doctype> 表示文档类型,告诉浏览器如何解析网页。
    • 一般声明为 html 就可以了,比如 <!doctype 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 可以是 keywordsauthor,分别表示描述、网页内容关键字、作者。
        • 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> 下方缩进显示。

# 图像标签

  • <img>标签用于插入图片。
    • 单独使用,没有闭合标签。<img> 可以放在 <a> 标签内部,使得图片变成一个可以点击的链接。
    • alt:用来设定图片的文字说明。
      • 图片不显示时(比如下载失败,或用户关闭图片加载),图片的位置上会显示该文本。
    • widthheight 属性,图片默认以原始大小插入网页,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}"
          • 如果用户输入不符合要求,浏览器会弹出提示,不会提交表单。
        • 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 属性将无效。
  • lang,指定页面元素使用的语言
    • dir,表示文字阅读的方向。
  • contenteditable,网页可编辑。
    • 例如:contenteditable="true"
    • 该属性是枚举属性,不是布尔属性,规范的写法是最好带上属性值。
  • spellcheck 属性就表示,是否打开拼写检查。
    • true:打开拼写检查。
    • false:关闭拼写检查。
    • 枚举属性,如果没有指定这个属性,浏览器将自行决定是否打开拼写检查。对于那些不可编辑的元素,该属性无效。

# 讨论区

由于评论过多会影响页面最下方的导航,故将评论区做默认折叠处理。

点击查看评论区内容,渴望您的宝贵建议~
Last Updated: 6/10/2022, 3:54:48 PM