diff --git a/files/zh-cn/web/html/attributes/autocomplete/index.md b/files/zh-cn/web/html/attributes/autocomplete/index.md index 54a16ed9247454..a7a28504de2dc0 100644 --- a/files/zh-cn/web/html/attributes/autocomplete/index.md +++ b/files/zh-cn/web/html/attributes/autocomplete/index.md @@ -14,224 +14,200 @@ tags: translation_of: Web/HTML/Attributes/autocomplete original_slug: Web/HTML/Attributes/自动完成属性 --- -
{{HTMLSidebar("Global_attributes")}}
- -

HTML autocomplete 属性可用于以文本或数字值作为输入的 {{HTMLElement("input")}} 元素 , {{HTMLElement("textarea")}} 元素,{{HTMLElement("select")}} 元素,和{{HTMLElement("form")}} 元素。 autocomplete 允许 web 开发人员指定,如果有任何权限 {{Glossary("user agent")}} 必须提供填写表单字段值的自动帮助,并为浏览器提供关于字段中所期望的信息类型的指导。

- -

建议值的来源通常取决于浏览器。 通常,值来自用户输入的过去值,但它们也可能来自预先配置的值。 例如,浏览器可能允许用户保存其姓名,地址,电话号码和电子邮件地址,以实现自动完成目的。 也许浏览器提供了保存加密的信用卡信息的功能,以便在身份验证过程后自动完成。

- -

如果 {{HTMLElement("input")}}, {{HTMLElement("select")}} 或{{HTMLElement("textarea")}} 元素 没有 autocomplete 属性,t 则该浏览器将使用该元素的表单的 autocomplete 属性所有者,它们可是元素的后代 {{HTMLElement("form")}} 元素 也可以是其 id 由元素{{htmlattrxref("form", "input")}} 属性指定的 <form>

- -

有关更多信息,请参见 {{HTMLElement("form")}} 中的{{htmlattrxref("autocomplete", "form")}} 属性。

- -
-

为了提供自动完成功能,用户代理可能需要<input>/<select>/<textarea> 元素才能:

- -
    -
  1. 具有 name 和/或 id 属性
  2. -
  3. 成为 <form> 的后代
  4. -
  5. 具有 {{HTMLElement("input/submit", "submit")}} 按钮的表单
  6. -
-
- -

价值

- -
-
"off"
-
浏览器不允许为此字段自动输入或选择一个值。 文档或应用程序可能提供其自己的自动完成功能,或者出于安全方面的考虑,要求不要自动输入该字段的值。 -
注意: 在大多数现代浏览器中, autocomplete 设置为 "off" 不会阻止密码管理器询问用户是否要保存用户名和密码信息,或者自动在网站的登录表单中填写这些值。 请参阅 the autocomplete attribute and login fields.
-
-
"on"
-
允许浏览器自动完成输入。 没有提供有关该字段中期望的数据类型的指导,因此浏览器可以使用自己的判断。
-
"name"
-
该字段期望该值是一个人的全名。 通常首选使用“名称”而不是将名称分解为各个组成部分,因为这样可以避免处理各种各样的人类名称及其结构。 但是,如果需要将名称分解为各个组成部分,则可以使用以下自动完成值: -
-
"honorific-prefix"
-
前缀或标题,例如“ Mrs.”,“ Mr.”,“ Miss”,“ Ms.”,“ Dr.”或“ Mlle.”。
-
"given-name"
-
给定的(或“名字”)名称。
-
"additional-name"
-
中间名。
-
"family-name"
-
姓氏(或“姓氏”)。
-
"honorific-suffix"
-
后缀,例如 "Jr.", "B.Sc.", "PhD.", "MBASW", or "IV".
-
"nickname"
-
昵称或名称。
-
-
-
"email"
-
电子邮件地址。
-
"username"
-
用户名或帐户名。
-
"new-password"
-
新密码。 创建新帐户或更改密码时,应将其用于“输入新密码”或“确认新密码”字段,而不是通常出现的“输入当前密码”字段。 浏览器可以使用它来避免意外填写现有密码,并在创建安全密码时提供帮助(另请参见 Preventing autofilling with autocomplete="new-password").
-
"current-password"
-
用户的当前密码
-
"one-time-code"
-
用于验证用户身份的一次性代码。
-
"organization-title"
-
职务或组织内某人的职务,例如“高级技术作家”,“总裁”或“助理部队负责人”。
-
"organization"
-
公司或组织名称,例如“ Acme Widget Company”或“ American Girl Scouts of America”。
-
"street-address"
-
街道地址。 它可以是多行文本,应在第二个行政级别(通常是城市或城镇)内完全标识地址的位置,但不应包括城市名称,邮政编码或邮政编码或国家/地区名称。
-
"address-line1", "address-line2", "address-line3"
-
街道地址的每一行。 仅在还存在 "street-address" 的情况下,才应提供这些内容。.
-
"address-level4"
-
在具有四个级别的地址中,粒度最细的地址的行政级别
-
"address-level3"
-
第三个地址的行政级别,在具有至少三个管理级别的地址中。
-
"address-level2"
-
第二个地址的行政级别,在地址中至少有两个。 在具有两个行政级别的国家/地区中,通常是地址所在的城市,城镇,村庄或其他地区。
-
"address-level1"
-
地址中的第一个地址的行政级别 。通常是地址所在的省份。 在美国,这就是州。 在瑞士,行政区。 在英国,小镇。
- “国家”
-
"country"
-
国家代码。
-
"country-name"
-
一个国家的名字。
-
"postal-code"
-
邮政编码(在美国,这是邮政编码)。
-
"cc-name"
-
打印在付款工具(例如信用卡)上或与之关联的全名。 通常,使用全名字段比将名称分成多个部分更可取。
-
"cc-given-name"
-
在信用卡之类的付款工具上给出的给定(名字)名称。
-
"cc-additional-name"
-
付款工具或信用卡上的中间名。
-
"cc-family-name"
-
信用卡上的姓氏。
-
"cc-number"
-
信用卡号码或其他标识付款方式的号码,例如帐号。
-
"cc-exp"
-
付款方式的到期日期,通常为“ 月份 / 年份”或“ 月份 / 年份”形式。
-
"cc-exp-month"
-
付款方式到期的月份。
-
"cc-exp-year"
-
付款方式到期的年份。.
-
"cc-csc"
-
付款工具的安全码; 在信用卡上,这是信用卡背面的 3 位数验证码。
-
"cc-type"
-
付款方式的类型(例如“ Visa”或“ Master Card”)。
-
"transaction-currency"
-
进行交易的货币。
-
"transaction-amount"
-
以 "transaction-currency" 指定的货币表示的金额,用于支付形式。
-
"language"
-
作为有效的 BCP 47 语言标记提供的首选语言。
-
"bday"
-
出生日期,作为完整日期。
-
"bday-day"
-
出生日期的月份中的一天。
-
"bday-month"
-
出生日期的月份。
-
"bday-year"
-
出生日期的年份。
-
"sex"
-
性别身份(例如“女性”,“法法芬”,“男性”),不带换行符的自由格式文本。
-
"tel"
-
-

完整的电话号码,包括国家/地区代码。 如果您需要将电话号码分为几个部分,则可以将以下值用于这些字段:

- -
-
"tel-country-code"
-
国家/地区代码,例如美国,加拿大和北美其他地区以及加勒比海部分地区的“ 1”。
-
"tel-national"
-
不含国家/地区代码部分的完整电话号码,包括国家/地区内部前缀。 对于电话号码“ 1-855-555-6502”,该字段的值为“ 855-555-6502”。
-
"tel-area-code"
-
区号,如果适用,可应用任何国家或地区内部前缀。
-
"tel-local"
-
不带国家或地区代码的电话号码。 这可以进一步分为两部分,分别是具有交换号码的电话号码,然后是交换局中的号码。 对于电话号码“ 555-6502”, 对于“ 555”使用 "tel-local-prefix" ,对于"6502"使用 "tel-local-suffix" 。
-
-
-
"tel-extension"
-
电话号码中的电话分机代码,例如旅馆中的房间或套房号或公司中的办公室分机号。
-
"impp"
-
即时消息协议端点的 URL,例如“ xmpp:username@example.net”。
-
"url"
-
URL,例如在给定表单中其他字段的上下文的情况下的主页或公司网站地址等。
-
"photo"
-
代表表单中其他字段中提供的个人,公司或联系信息的图像的 URL。
-
- -

有关更多详细信息,请参见 WHATWG 标准。

- -
-

注意: 与其他浏览器不同, autocomplete 属性还控制 Firefox 是否会跨页面加载保持— 是否在整个页面加载期间保持 <input> 元素,<textarea> 元素,或整个 <form> 的动态禁用状态和(如果适用)动态检查状态。 持久性功能默认情况下处于启用状态。 将 autocomplete 属性的值设置为off 将禁用此功能。即使autocomplete 属性通常由于其type而不适用,也可以这样做。 参考 {{bug(654072)}}.

+{{HTMLSidebar("Global_attributes")}} + +HTML `autocomplete` 属性可用于以文本或数字值作为输入的 {{HTMLElement("input")}} 元素 , {{HTMLElement("textarea")}} 元素,{{HTMLElement("select")}} 元素,和{{HTMLElement("form")}} 元素。 `autocomplete` 允许 web 开发人员指定,如果有任何权限 {{Glossary("user agent")}} 必须提供填写表单字段值的自动帮助,并为浏览器提供关于字段中所期望的信息类型的指导。 + +建议值的来源通常取决于浏览器。 通常,值来自用户输入的过去值,但它们也可能来自预先配置的值。 例如,浏览器可能允许用户保存其姓名,地址,电话号码和电子邮件地址,以实现自动完成目的。 也许浏览器提供了保存加密的信用卡信息的功能,以便在身份验证过程后自动完成。 + +如果 {{HTMLElement("input")}}, {{HTMLElement("select")}} 或{{HTMLElement("textarea")}} 元素 没有 `autocomplete` 属性,t 则该浏览器将使用该元素的表单的 `autocomplete` 属性所有者,它们可是元素的后代 {{HTMLElement("form")}} 元素 也可以是其 `id` 由元素{{htmlattrxref("form", "input")}} 属性指定的 `
`。 + +有关更多信息,请参见 {{HTMLElement("form")}} 中的{{htmlattrxref("autocomplete", "form")}} 属性。 + +> **备注:** 为了提供自动完成功能,用户代理可能需要``/` +
+ + +``` -

{{EmbedLiveSample("Pattern_validation", 700, 275)}}

+{{EmbedLiveSample("Pattern_validation", 700, 275)}} -

Our {{HTMLElement("form")}} contains one {{HTMLElement("input")}} of type "email" for the user's email address, a {{HTMLElement("textarea")}} to enter their message for IT into, and an <input> of type "submit", which creates a button to submit the form. Each text entry box has a {{HTMLElement("label")}} associated with it to let the user know what's expected of them.

+Our {{HTMLElement("form")}} contains one {{HTMLElement("input")}} of type `"email"` for the user's email address, a {{HTMLElement("textarea")}} to enter their message for IT into, and an `` of type [`"submit"`](/zh-CN/docs/Web/HTML/Element/input/submit), which creates a button to submit the form. Each text entry box has a {{HTMLElement("label")}} associated with it to let the user know what's expected of them. -

Let's take a closer look at the email address entry box. Its {{htmlattrxref("size", "input")}} and {{htmlattrxref("maxlength", "input")}} attributes are both set to 64 in order to show room for 64 characters worth of email address, and to limit the number of characters actually entered to a maximum of 64. The {{htmlattrxref("required", "input")}} attribute is specified, making it mandatory that a valid email address be provided.

+Let's take a closer look at the email address entry box. Its {{htmlattrxref("size", "input")}} and {{htmlattrxref("maxlength", "input")}} attributes are both set to 64 in order to show room for 64 characters worth of email address, and to limit the number of characters actually entered to a maximum of 64. The {{htmlattrxref("required", "input")}} attribute is specified, making it mandatory that a valid email address be provided. -

An appropriate {{htmlattrxref("placeholder", "input")}} is provided—"username@beststartupever.com"—to demonstrate what constitutes a valid entry. This string demonstrates both that an email address should be entered, and suggests that it should be a corporate beststartupever.com account. This is in addition to the fact that using type "email" will validate the text to ensure that it's formatted like an email address. If the text in the input box isn't an email address, you'll get an error message that looks something like this:

+An appropriate {{htmlattrxref("placeholder", "input")}} is provided—`"username@beststartupever.com"`—to demonstrate what constitutes a valid entry. This string demonstrates both that an email address should be entered, and suggests that it should be a corporate beststartupever.com account. This is in addition to the fact that using type `"email"` will validate the text to ensure that it's formatted like an email address. If the text in the input box isn't an email address, you'll get an error message that looks something like this: -

+![](enter-valid-email-address.png) -

If we left things at that, we would at least be validating on legitimate email addresses. But we want to go one step farther: we want to make sure that the email address is in fact in the form "username@beststartupever.com". This is where we'll use {{htmlattrxref("pattern", "input")}}. We set pattern to ".+@beststartupever.com". This simple regular expression requests a string that consists of at least one character of any kind, then an "@" followed by the domain name "beststartupever.com".

+If we left things at that, we would at least be validating on legitimate email addresses. But we want to go one step farther: we want to make sure that the email address is in fact in the form "_username_\@beststartupever.com". This is where we'll use {{htmlattrxref("pattern", "input")}}. We set `pattern` to `".+@beststartupever.com"`. This simple regular expression requests a string that consists of at least one character of any kind, then an "@" followed by the domain name "beststartupever.com". -

Note that this is not even close to an adequate filter for valid email addresses; it would allow things such as " @beststartupever.com" (note the leading space) or "@@beststartupever.com", neither of which is valid. However, the browser runs both the standard email address filter and our custom pattern against the specified text. As a result, we wind up with a validation which says "make sure this is a valid email address, and if it is, make sure it's also a beststartupever.com address."

+Note that this is not even close to an adequate filter for valid email addresses; it would allow things such as " @beststartupever.com" (note the leading space) or "@@beststartupever.com", neither of which is valid. However, the browser runs both the standard email address filter _and_ our custom pattern against the specified text. As a result, we wind up with a validation which says "make sure this is a valid email address, and if it is, make sure it's also a beststartupever.com address." -

It's advisable to use the {{htmlattrxref("title")}} attribute along with pattern. If you do, the title must describe the pattern. That is, it should explain what format the data should take on, rather than any other information. That's because the title may be displayed or spoken as part of a validation error message. For example, the browser might present the message "The entered text doesn't match the required pattern." followed by your specified title. If your title is something like "Email address", the result would be the message "The entered text doesn't match the required pattern. Email address", which isn't very good.

+It's advisable to use the {{htmlattrxref("title")}} attribute along with `pattern`. If you do, the `title` _must_ describe the pattern. That is, it should explain what format the data should take on, rather than any other information. That's because the `title` may be displayed or spoken as part of a validation error message. For example, the browser might present the message "The entered text doesn't match the required pattern." followed by your specified `title`. If your `title` is something like "Email address", the result would be the message "The entered text doesn't match the required pattern. Email address", which isn't very good. -

That's why, instead, we specify the string "Please provide only a Best Startup Ever corporate email address" By doing that, the resulting full error message might be something like "The entered text doesn't match the required pattern. Please provide only a Best Startup Ever corporate email address."

+That's why, instead, we specify the string "Please provide only a Best Startup Ever corporate email address" By doing that, the resulting full error message might be something like "The entered text doesn't match the required pattern. Please provide only a Best Startup Ever corporate email address." -

+![](email-pattern-match-bad.png) -
-

Note: If you run into trouble while writing your validation regular expressions and they're not working properly, check your browser's console; there may be helpful error messages there to aid you in solving the problem.

-
+> **备注:** If you run into trouble while writing your validation regular expressions and they're not working properly, check your browser's console; there may be helpful error messages there to aid you in solving the problem. -

Examples

+## Examples -

Here we have an email input with the ID "emailAddress" which is allowed to be up to a maximum of 256 characters long. The input box itself is physically 64 characters wide, and displays the text "user@example.gov" as a placeholder anytime the field is empty. In addition, by using the {{htmlattrxref("multiple", "input")}} attribute, the box is configured to allow the user to enter zero or more email addresses, separated by commas, as described in Allowing multiple email addresses. As a final touch, the {{htmlattrxref("list", "input")}} attribute contains the ID of a {{HTMLElement("datalist")}} whose {{HTMLElement("option")}}s specify a set of suggested values the user can choose from.

+Here we have an email input with the ID `"emailAddress"` which is allowed to be up to a maximum of 256 characters long. The input box itself is physically 64 characters wide, and displays the text `"user@example.gov"` as a placeholder anytime the field is empty. In addition, by using the {{htmlattrxref("multiple", "input")}} attribute, the box is configured to allow the user to enter zero or more email addresses, separated by commas, as described in [Allowing multiple email addresses](#allowing_multiple_email_addresses). As a final touch, the {{htmlattrxref("list", "input")}} attribute contains the ID of a {{HTMLElement("datalist")}} whose {{HTMLElement("option")}}s specify a set of suggested values the user can choose from. -

As an added touch, the {{HTMLElement("label")}} element is used to establish a label for the email entry box, with its {{htmlattrxref("for", "label")}} attribute referencing the "emailAddress" ID of the {{HTMLElement("input")}} element. By associating the two elements in this way, clicking on the label will focus the input element.

+As an added touch, the {{HTMLElement("label")}} element is used to establish a label for the email entry box, with its {{htmlattrxref("for", "label")}} attribute referencing the `"emailAddress"` ID of the {{HTMLElement("input")}} element. By associating the two elements in this way, clicking on the label will focus the input element. -
<label for="emailAddress">Email</label><br/>
-<input id="emailAddress" type="email" placeholder="user@example.gov"
-       list="defaultEmails" size="64" maxlength="256" multiple>
+```html
+
+ -<datalist id="defaultEmails"> - <option value="jbond007@mi6.defence.gov.uk"> - <option value="jbourne@unknown.net"> - <option value="nfury@shield.org"> - <option value="tony@starkindustries.com"> - <option value="hulk@grrrrrrrr.arg"> -</datalist>
+ + +``` -

{{EmbedLiveSample('Examples', 600, 50)}}

+{{EmbedLiveSample('Examples', 600, 50)}} -

Specifications

+## Specifications {{Specifications}} -

Browser compatibility

- - +## Browser compatibility -

{{Compat("html.elements.input.input-email")}}

+{{Compat("html.elements.input.input-email")}} -

See also

+## See also - +- [HTML forms guide](/zh-CN/docs/Learn/HTML/Forms) +- {{HTMLElement("input")}} +- [``](/zh-CN/docs/Web/HTML/Element/input/tel) diff --git a/files/zh-cn/web/html/element/input/file/index.md b/files/zh-cn/web/html/element/input/file/index.md index c6bb97ed88552a..403e2040e0f546 100644 --- a/files/zh-cn/web/html/element/input/file/index.md +++ b/files/zh-cn/web/html/element/input/file/index.md @@ -12,11 +12,11 @@ tags: - 输入类型 translation_of: Web/HTML/Element/input/file --- -
{{HTMLRef}}
+{{HTMLRef}} -

使用 type="file" 的 {{HTMLElement("input")}} 元素使得用户可以选择一个或多个元素以提交表单的方式上传到服务器上,或者通过 Javascript 的 File API 对文件进行操作。

+使用 **`type="file"` **的 {{HTMLElement("input")}} 元素使得用户可以选择一个或多个元素以[提交表单](/zh-CN/docs/Learn/HTML/Forms)的方式上传到服务器上,或者通过 Javascript 的 [File API](/zh-CN/docs/Web/API/File/Using_files_from_web_applications) 对文件进行操作。 -
{{EmbedInteractiveExample("pages/tabbed/input-file.html", "tabbed-shorter")}}
+{{EmbedInteractiveExample("pages/tabbed/input-file.html", "tabbed-shorter")}} @@ -61,263 +61,217 @@ translation_of: Web/HTML/Element/input/file
-

+## 值 -

文件 input 的 {{htmlattrxref("value", "input")}} 属性包括了一个 {{domxref("DOMString")}},表示已选择文件的路径。如果用户选择了多个文件,则 value 表示他们选择的文件列表中的第一个文件。 可以使用 input 的 HTMLInputElement.files 属性标识其他文件。

+文件 input 的 {{htmlattrxref("value", "input")}} 属性包括了一个 {{domxref("DOMString")}},表示已选择文件的路径。如果用户选择了多个文件,则 `value` 表示他们选择的文件列表中的第一个文件。 可以使用 input 的 `HTMLInputElement.files` 属性标识其他文件。 -
Note: +> **备注:** +> +> 1. 如果选择了多个文件,这个值表示第一个已选择文件的路径。JavaScript 可以[通过 input 的 files 属性访问其他文件](/zh-CN/docs/Web/API/File/Using_files_from_web_applications#Getting_information_about_selected_files)。 +> 2. 如果没有选择文件,该值为空字符串 `""`。 +> 3. 为了阻止恶意软件猜测文件路径,字符串[以 C:\fakepath\ 为前缀](https://html.spec.whatwg.org/multipage/input.html#fakepath-srsly)。 -
    -
  1. 如果选择了多个文件,这个值表示第一个已选择文件的路径。JavaScript 可以通过 input 的 files 属性访问其他文件
  2. -
  3. 如果没有选择文件,该值为空字符串 ""
  4. -
  5. 为了阻止恶意软件猜测文件路径,字符串以 C:\fakepath\ 为前缀
  6. -
-
+## 附加属性 -

附加属性

+除了被所有 {{HTMLElement("input")}} 元素共享的公共属性,`file` 类型的 input 还支持下列属性: -

除了被所有 {{HTMLElement("input")}} 元素共享的公共属性,file 类型的 input 还支持下列属性:

+| 属性 | 说明 | +| ---------------------------- | ----------------------------------------------------------------------- | +| [`accept`](#attr-accept) | 一个或多个 [唯一文件类型说明符](#唯一文件类型说明符) 描述允许的文件类型 | +| [`capture`](#attr-capture) | 捕获图像或视频数据的源 | +| [`files`](#attr-files) | {{domxref("FileList")}} 列出了已选择的文件 | +| [`multiple`](#attr-multiple) | 布尔值,如果出现,则表示用户可以选择多个文件 | - - - - - - - - - - - - - - - - - - - - - - - - - -
属性说明
accept一个或多个 唯一文件类型说明符 描述允许的文件类型
capture捕获图像或视频数据的源
files{{domxref("FileList")}} 列出了已选择的文件
multiple布尔值,如果出现,则表示用户可以选择多个文件
- -

{{htmlattrdef("accept")}}

+### {{htmlattrdef("accept")}} -

accept 属性是一个字符串,它定义了文件 input 应该接受的文件类型。这个字符串是一个以逗号为分隔的唯一文件类型说明符列表。由于给定的文件类型可以用多种方式指定,因此当你需要给定格式的文件时,提供一组完整的类型指定符是非常有用的。

+[`accept`](/zh-CN/docs/Web/HTML/Attributes/accept) 属性是一个字符串,它定义了文件 input 应该接受的文件类型。这个字符串是一个以逗号为分隔的**[唯一文件类型说明符](#唯一文件类型说明符)**列表。由于给定的文件类型可以用多种方式指定,因此当你需要给定格式的文件时,提供一组完整的类型指定符是非常有用的。 -

例如,有许多方法可以识别 Microsoft Word 文件,所以接受 Word 文件的站点可以使用一个<input>

+例如,有许多方法可以识别 Microsoft Word 文件,所以接受 Word 文件的站点可以使用一个``: -
<input type="file" id="docpicker"
-  accept=".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document">
+```html + +``` -

{{htmlattrdef("capture")}}

+### {{htmlattrdef("capture")}} -

capture 属性是一个字符串,如果 accept 属性指出了 input 是图片或者视频类型,则它指定了使用哪个摄像头去获取这些数据。值 user 表示应该使用前置摄像头和/或麦克风。值 environment 表示应该使用后置摄像头和/或麦克风。如果缺少此属性,则 {{Glossary("user agent")}} 可以自由决定做什么。如果请求的前置模式不可用,则用户代理可能退回到其首选的默认模式。

+[`capture`](/zh-CN/docs/Web/HTML/Attributes/capture) 属性是一个字符串,如果 [`accept`](/zh-CN/docs/Web/HTML/Attributes/accept) 属性指出了 input 是图片或者视频类型,则它指定了使用哪个摄像头去获取这些数据。值 `user` 表示应该使用前置摄像头和/或麦克风。值 `environment` 表示应该使用后置摄像头和/或麦克风。如果缺少此属性,则 {{Glossary("user agent")}} 可以自由决定做什么。如果请求的前置模式不可用,则用户代理可能退回到其首选的默认模式。 -
Note: capture 以前是一个布尔类型的属性,如果存在,则请求使用设备的媒体捕获设备(如:摄像机),而不是请求一个文件输入。
+> **备注:** `capture` 以前是一个布尔类型的属性,如果存在,则请求使用设备的媒体捕获设备(如:摄像机),而不是请求一个文件输入。 -

{{htmlattrdef("files")}}

+### {{htmlattrdef("files")}} -

{{domxref("FileList")}} 对象每个已选择的文件。如果 {{htmlattrxref("multiple", "input/file")}} 属性没有指定,则这个列表只有一个成员。

+{{domxref("FileList")}} 对象每个已选择的文件。如果 {{htmlattrxref("multiple", "input/file")}} 属性没有指定,则这个列表只有一个成员。 -

{{htmlattrdef("multiple")}}

+### {{htmlattrdef("multiple")}} -

当指定布尔类型属性 multiple, 文件 input 允许用户选择多个文件。

+当指定布尔类型属性 [`multiple`](/zh-CN/docs/Web/HTML/Attributes/multiple), 文件 input 允许用户选择多个文件。 -

非标准属性

+## 非标准属性 -

除了上面列出来的属性,下面的非标准属性在某些浏览器中可用。你应该尽量避免使用它们,因为这样做将限制代码在没有实现它们的浏览器中的运行能力。

+除了上面列出来的属性,下面的非标准属性在某些浏览器中可用。你应该尽量避免使用它们,因为这样做将限制代码在没有实现它们的浏览器中的运行能力。 - - - - - - - - - - - - - -
属性描述
webkitdirectory一个布尔值,表示是否仅允许用户选择一个目录(或多个目录,如果 multiple 也出现的话)
+| 属性 | 描述 | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| [`webkitdirectory`](#attr-webkitdirectory) | 一个布尔值,表示是否仅允许用户选择一个目录(或多个目录,如果 [`multiple`](#attr-multiple) 也出现的话) | -

{{htmlattrdef("webkitdirectory")}} {{non-standard_inline}}

+### {{htmlattrdef("webkitdirectory")}} {{non-standard_inline}} -
-

如果出现布尔属性 webkitdirectory,表示在文件选择器界面中用户只能选择目录。更多细节和示例见 {{domxref("HTMLInputElement.webkitdirectory")}}。

+如果出现布尔属性 `webkitdirectory,`表示在文件选择器界面中用户只能选择目录。更多细节和示例见 {{domxref("HTMLInputElement.webkitdirectory")}}。 -
-

Note: 尽管 webkitdirectory 最初仅为基于 webkit 的浏览器实现,它还在 Microsoft Edge 和 Firefox 50 及其后版本中可用。然而,尽管它有相对广泛的支持,它仍然是非标准的。除非你别无选择,否则不要使用它。

-
-
+> **备注:** 尽管 `webkitdirectory` 最初仅为基于 webkit 的浏览器实现,它还在 Microsoft Edge 和 Firefox 50 及其后版本中可用。然而,尽管它有相对广泛的支持,它仍然是非标准的。除非你别无选择,否则不要使用它。 -

唯一文件类型说明符

+## 唯一文件类型说明符 -

唯一文件类型说明符是一个字符串,表示在 file 类型的 {{HTMLElement("input")}} 元素中用户可以选择的文件类型。每个唯一文件类型说明符可以采用下列形式之一:

+**唯一文件类型说明符**是一个字符串,表示在 `file` 类型的 {{HTMLElement("input")}} 元素中用户可以选择的文件类型。每个唯一文件类型说明符可以采用下列形式之一: - +- 一个以英文句号(".")开头的合法的不区分大小写的文件名扩展名。例如: `.jpg`,`.pdf` 或 `.doc`。 +- 一个不带扩展名的 MIME 类型字符串。 +- 字符串 `audio/*`, 表示 “任何音频文件”。 +- 字符串 `video/*`,表示 “任何视频文件”。 +- 字符串 `image/*`,表示 “任何图片文件”。 -

accept 属性的值是一个包含一个或多个(用逗号分隔)这种唯一文件类型说明符的字符串。 例如,一个文件选择器需要能被表示成一张图片的内容,包括标准的图片格式和 PDF 文件,大概是这样的:

+`accept` 属性的值是一个包含一个或多个(用逗号分隔)这种唯一文件类型说明符的字符串。 例如,一个文件选择器需要能被表示成一张图片的内容,包括标准的图片格式和 PDF 文件,大概是这样的: -
<input type="file" accept="image/*,.pdf">
+```html + +``` -

使用文件输入

+## 使用文件输入 -

基本示例

+### 基本示例 -
<form method="post" enctype="multipart/form-data">
- <div>
-   <label for="file">Choose file to upload</label>
-   <input type="file" id="file" name="file" multiple>
- </div>
- <div>
-   <button>Submit</button>
- </div>
-</form>
+```html +
+
+ + +
+
+ +
+
+``` - +} +``` -

产生如下结果:

+产生如下结果: -

{{EmbedLiveSample('基本示例', 650, 60)}}

+{{EmbedLiveSample('基本示例', 650, 60)}} -
-

Note: 你也可以在 GitHub 中找到这个示例 — 源代码在线运行

-
+> **备注:** 你也可以在 GitHub 中找到这个示例 — [源代码](https://github.com/mdn/learning-area/blob/master/html/forms/file-examples/simple-file.html)和[在线运行](https://mdn.github.io/learning-area/html/forms/file-examples/simple-file.html)。 -

无论用户的设备或操作系统是什么,文件输入都提供一个按钮,打开一个允许用户选择文件的文件选择对话框。

+无论用户的设备或操作系统是什么,文件输入都提供一个按钮,打开一个允许用户选择文件的文件选择对话框。 -

包含上述的 {{htmlattrxref("multiple", "input/file")}} 属性,指定可以一次选择多个文件。 用户可以用他们选择的平台允许的任何方式从文件选择器中选择多个文件(如,按住 Shift or Control,然后单击)。如果您只想让用户为每个 <input> 选择一个文件,那么省略 multiple 属性。

+包含上述的 {{htmlattrxref("multiple", "input/file")}} 属性,指定可以一次选择多个文件。 用户可以用他们选择的平台允许的任何方式从文件选择器中选择多个文件(如,按住 Shift or Control,然后单击)。如果您只想让用户为每个 `` 选择一个文件,那么省略 `multiple` 属性。 -

获取已选择文件的信息

+### 获取已选择文件的信息 -

被选择的文件以 HTMLInputElement.files 属性返回,它是一个包含一列 {{domxref("File")}} 对象的 {{domxref("FileList")}} 对象。FileList 的行为像一个数组,所以你可以检查 length 属性来获得已选择文件的数量。

+被选择的文件以 `HTMLInputElement.files` 属性返回,它是一个包含一列 {{domxref("File")}} 对象的 {{domxref("FileList")}} 对象。`FileList` 的行为像一个数组,所以你可以检查 `length` 属性来获得已选择文件的数量。 -

每个 File 包含下列信息:

+每个 `File` 包含下列信息: -
-
name
-
文件名。
-
lastModified
-
一个数字,指定文件最后一次修改的日期和时间,以 UNIX 新纪元(1970 年 1 月 1 日午夜)以来的毫秒数表示。
-
lastModifiedDate {{deprecated_inline}}
-
一个 {{jsxref("Date")}} 对象,表示文件最后一次修改的日期和时间。这被弃用,并且不应使用。使用 lastModified 作为替代
-
size
-
以字节数为单位的文件大小。
-
type
-
文件的 MIME 类型
-
webkitRelativePath {{non-standard_inline}}
-
一个字符串,指定了相对于在目录选择器中选择的基本目录的文件路径(即,一个设置了 {{htmlattrxref("webkitdirectory", "input/file")}} 属性的 file 选择器)。 这是非标准的,应该谨慎使用。
-
+- `name` + - : 文件名。 +- `lastModified` + - : 一个数字,指定文件最后一次修改的日期和时间,以 UNIX 新纪元(1970 年 1 月 1 日午夜)以来的毫秒数表示。 +- `lastModifiedDate` {{deprecated_inline}} + - : 一个 {{jsxref("Date")}} 对象,表示文件最后一次修改的日期和时间。_这被弃用,并且不应使用。使用 `lastModified` 作为替代_。 +- `size` + - : 以字节数为单位的文件大小。 +- `type` + - : 文件的 [MIME 类型](/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types)。 +- `webkitRelativePath` {{non-standard_inline}} + - : 一个字符串,指定了相对于在目录选择器中选择的基本目录的文件路径(即,一个设置了 {{htmlattrxref("webkitdirectory", "input/file")}} 属性的 `file` 选择器)。 _这是非标准的,应该谨慎使用。_ -
-

Note: 你可以在所有现代浏览器中读写 HTMLInputElement.files 的值;最近这被添加到 Firefox 57 中(见 {{bug(1384030)}})。

-
+> **备注:** 你可以在所有现代浏览器中读写 `HTMLInputElement.files` 的值;最近这被添加到 Firefox 57 中(见 {{bug(1384030)}})。 -

限制可接受的文件类型

+### 限制可接受的文件类型 -

通常,你不希望用户能够选择任意类型的文件;相反,你通常希望它们选择特定类型的文件。例如,如果你的文件输入让用户上传个人资料图片,您可能希望他们选择 Web 兼容的图像格式,如 {{Glossary("JPEG")}} 或 {{Glossary("PNG")}}。

+通常,你不希望用户能够选择任意类型的文件;相反,你通常希望它们选择特定类型的文件。例如,如果你的文件输入让用户上传个人资料图片,您可能希望他们选择 Web 兼容的图像格式,如 {{Glossary("JPEG")}} 或 {{Glossary("PNG")}}。 -

可以用 {{htmlattrxref("accept","input/file")}} 属性指定可接受的文件类型,它是一个以逗号间隔的文件扩展名和 MIME 类型列表。一些例子:

+可以用 {{htmlattrxref("accept","input/file")}} 属性指定可接受的文件类型,它是一个以逗号间隔的文件扩展名和 MIME 类型列表。一些例子: - +- `accept="image/png"` 或 `accept=".png"` — 接受 PNG 文件。 +- `accept="image/png, image/jpeg"` 或 `accept=".png, .jpg, .jpeg"` — 接受 PNG 或 JPEG 文件。 +- `accept="image/*"` — 接受带有一个 `image/*` MIME 类型的任何文件。(许多移动设备也允许用户在使用它时用摄像头拍照。) +- `accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document"` — 接受 MS Word 文档之类的任何文件。 -

让我们来看一个更完整的例子:

+让我们来看一个更完整的例子: -
<form method="post" enctype="multipart/form-data">
-  <div>
-    <label for="profile_pic">Choose file to upload</label>
-    <input type="file" id="profile_pic" name="profile_pic"
-          accept=".jpg, .jpeg, .png">
-  </div>
-  <div>
-    <button>Submit</button>
-  </div>
-</form>
+```html +
+
+ + +
+
+ +
+
+``` - +} +``` -

上述代码产生和之前示例相似的结果:

+上述代码产生和之前示例相似的结果: -

{{EmbedLiveSample('限制可接受的文件类型', 650, 60)}}

+{{EmbedLiveSample('限制可接受的文件类型', 650, 60)}} -
-

Note: 你也可以在 GitHub 中找到这个示例 — 源代码在线运行

-
+> **备注:** 你也可以在 GitHub 中找到这个示例 — [源代码](https://github.com/mdn/learning-area/blob/master/html/forms/file-examples/file-with-accept.html)和[在线运行](https://mdn.github.io/learning-area/html/forms/file-examples/file-with-accept.html)。 -

这可能看起来很相似,但是如果你尝试用该输入选择一个文件,你将看到文件选择器只允许你选择 accept 值指定的文件类型(实际特性会按不同的浏览器和操作系统有所不同)。

+这可能看起来很相似,但是如果你尝试用该输入选择一个文件,你将看到文件选择器只允许你选择 `accept` 值指定的文件类型(实际特性会按不同的浏览器和操作系统有所不同)。 -

Screenshot of a macOS file picker dialog. Files other than JPEG are grayed-out and unselectable.

+![Screenshot of a macOS file picker dialog. Files other than JPEG are grayed-out and unselectable.](https://mdn.mozillademos.org/files/15183/file-chooser.png) -

accept 属性不验证所选文件的类型;它只是为浏览器提供提示来引导用户选择正确的文件类型。用户仍然可以(在大多数情况下)在文件选择器中切换一个选项,使其能够覆盖此选项并选择他们希望的任何文件,然后选择不正确的文件类型。

+`accept` 属性不验证所选文件的类型;它只是为浏览器提供提示来引导用户选择正确的文件类型。用户仍然可以(在大多数情况下)在文件选择器中切换一个选项,使其能够覆盖此选项并选择他们希望的任何文件,然后选择不正确的文件类型。 -

因此,您应该确保 accept 属性得到适当的服务器端验证的支持。

+因此,您应该确保 `accept` 属性得到适当的服务器端验证的支持。 -

注意事项

+### 注意事项 -
    -
  1. -

    你不能从脚本中设置文件选取器的值 — You cannot set the value of a file picker from a script — 做下面这样的事情是没有效果的:

    +1. 你不能从脚本中设置文件选取器的值 — You cannot set the value of a file picker from a script — 做下面这样的事情是没有效果的: -
    const input = document.querySelector("input[type=file]");
    -input.value = "foo";
    -
    -
  2. -
  3. -

    当使用一个 <input type="file"> 选择一个文件,When a file is chosen using an <input type="file">,出于明显的安全原因,源文件的实际路径没有显示在 input 的 value 属性中。相反,显示了文件名,并用 C:\fakepath\ 附加在路径的开头。这种怪癖有一些历史原因,但它在所有现代浏览器中都受到支持,而且实际上在规范中也有定义

    -
  4. -
+ ```js + const input = document.querySelector("input[type=file]"); + input.value = "foo"; + ``` -

示例

+2. 当使用一个 `` 选择一个文件,When a file is chosen using an ``,出于明显的安全原因,源文件的实际路径没有显示在 input 的 `value` 属性中。相反,显示了文件名,并用 `C:\fakepath\` 附加在路径的开头。这种怪癖有一些历史原因,但它在所有现代浏览器中都受到支持,而且实际上[在规范中也有定义](https://html.spec.whatwg.org/multipage/forms.html#fakepath-srsly)。 -

在本例中,我们将展示一个稍微高级一点的文件选择器,它利用了在 HTMLInputElement.files 属性中可用的文件信息,并且展示了一些聪明的技巧。

+## 示例 -
-

Note: 你可以在 GitHub 中查看本示例的完整源代码 — file-example.html在线运行)。我们不会解释 CSS;JavaScript 是主要的关注点。

-
+在本例中,我们将展示一个稍微高级一点的文件选择器,它利用了在 `HTMLInputElement.files` 属性中可用的文件信息,并且展示了一些聪明的技巧。 -

首先,让我们看看 HTML:

+> **备注:** 你可以在 GitHub 中查看本示例的完整源代码 — [file-example.html](https://github.com/mdn/learning-area/blob/master/html/forms/file-examples/file-example.html) ([在线运行](https://mdn.github.io/learning-area/html/forms/file-examples/file-example.html))。我们不会解释 CSS;JavaScript 是主要的关注点。 -
<form method="post" enctype="multipart/form-data">
-  <div>
-    <label for="image_uploads">Choose images to upload (PNG, JPG)</label>
-    <input type="file" id="image_uploads" name="image_uploads" accept=".jpg, .jpeg, .png" multiple>
-  </div>
-  <div class="preview">
-    <p>No files currently selected for upload</p>
-  </div>
-  <div>
-    <button>Submit</button>
-  </div>
-</form>
+首先,让我们看看 HTML: - +} +``` -

这和我们之前看到的类似 — 没有什么要说明的。

+这和我们之前看到的类似 — 没有什么要说明的。 -

接下来,让我们看一下 JavaScript。

+接下来,让我们看一下 JavaScript。 -

在脚本的第一行,我们获得了对表单 input 本身和拥有 .preview 类的 {{htmlelement("div")}} 元素的引用。然后,我们隐藏了 {{htmlelement("input")}} 元素 — 我们这样做是因为文件输入往往很难看,难于设计样式,而且在跨浏览器中对它们的设计不一致。你可以通过单击 input 元素来激活它,因此,最好在视觉上隐藏 input 并将 label 设计成按钮的样式,这样用户如果想上传文件就会知道如何与之交互。

+在脚本的第一行,我们获得了对表单 input 本身和拥有 `.preview` 类的 {{htmlelement("div")}} 元素的引用。然后,我们隐藏了 {{htmlelement("input")}} 元素 — 我们这样做是因为文件输入往往很难看,难于设计样式,而且在跨浏览器中对它们的设计不一致。你可以通过单击 `input` 元素来激活它,因此,最好在视觉上隐藏 input 并将 label 设计成按钮的样式,这样用户如果想上传文件就会知道如何与之交互。 -
const input = document.querySelector('input');
+```js
+const input = document.querySelector('input');
 const preview = document.querySelector('.preview');
 
-input.style.opacity = 0;
+input.style.opacity = 0; +``` + +> **备注:** 使用{{cssxref("opacity")}} 来隐藏文件输入,而不是使用 {{cssxref("visibility", "visibility: hidden")}} 或者 {{cssxref("display", "display: none")}},因为辅助技术将后两种样式解释为文件 input 是不可交互的。 + +接下来,我们将[事件监听器](/zh-CN/docs/Web/API/EventTarget/addEventListener)添加到 input 中,以监听选择的值的更改(在本例中,当选择文件时)。事件监听器调用我们定制的 `updateImageDisplay()` 函数。 -
-

Note: 使用{{cssxref("opacity")}} 来隐藏文件输入,而不是使用 {{cssxref("visibility", "visibility: hidden")}} 或者 {{cssxref("display", "display: none")}},因为辅助技术将后两种样式解释为文件 input 是不可交互的。

-
+```js +input.addEventListener('change', updateImageDisplay); +``` -

接下来,我们将事件监听器添加到 input 中,以监听选择的值的更改(在本例中,当选择文件时)。事件监听器调用我们定制的 updateImageDisplay() 函数。

+每当 `updateImageDisplay()` 函数被调用时,我们: -
input.addEventListener('change', updateImageDisplay);
+- 使用一个 {{jsxref("Statements/while", "while")}} 循环来清空 preview `
` 留下的内容。 +- 获取包含所有已选择文件信息的 {{domxref("FileList")}} 对象,并将其用一个变量 `curFiles` 保存。 +- 通过检查 `curFiles.length` 是否等于 0 来检查是否没有文件被选择。如果是,则用 preview `
` 输出一条消息,来表示没有选择文件。 +- 如果*选择*了文件,我们将循环遍历每个文件,并将关于它的信息输出到 preview `
`。注意事项: +- 我们使用定制的 `validFileType()` 函数来检查文件的类型是否正确。(例如,用 `accept` 属性指定的图片类型)。 +- 如果是,我们: -

每当 updateImageDisplay() 函数被调用时,我们:

+ - 将其名称和文件大小输出到到 previous `
` 的一个列表项中(从 `file.name` 和 `file.size`获取)。定制的 `returnFileSize()` 函数返回一个用 bytes/KB/MB 表示的格式良好的大小(默认情况下,浏览器以绝对字节数报告大小)。 + - 通过调用 {{domxref("URL.createObjectURL", "URL.createObjectURL(curFiles[i])")}} 来生成图片的一张缩略预览图。然后,通过创建一个新的 {{htmlelement("img")}} 来将这张图片也插入到列表项,并且将它的 {{htmlattrxref("src", "img")}} 设置为缩略图。 -
    -
  • 使用一个 {{jsxref("Statements/while", "while")}} 循环来清空 preview <div> 留下的内容。
  • -
  • 获取包含所有已选择文件信息的 {{domxref("FileList")}} 对象,并将其用一个变量 curFiles 保存。
  • -
  • 通过检查 curFiles.length 是否等于 0 来检查是否没有文件被选择。如果是,则用 preview <div> 输出一条消息,来表示没有选择文件。
  • -
  • 如果选择了文件,我们将循环遍历每个文件,并将关于它的信息输出到 preview <div>。注意事项:
  • -
  • 我们使用定制的 validFileType() 函数来检查文件的类型是否正确。(例如,用 accept 属性指定的图片类型)。
  • -
  • 如果是,我们: -
      -
    • 将其名称和文件大小输出到到 previous <div> 的一个列表项中(从 file.namefile.size获取)。定制的 returnFileSize() 函数返回一个用 bytes/KB/MB 表示的格式良好的大小(默认情况下,浏览器以绝对字节数报告大小)。
    • -
    • 通过调用 {{domxref("URL.createObjectURL", "URL.createObjectURL(curFiles[i])")}} 来生成图片的一张缩略预览图。然后,通过创建一个新的 {{htmlelement("img")}} 来将这张图片也插入到列表项,并且将它的 {{htmlattrxref("src", "img")}} 设置为缩略图。
    • -
    -
  • -
  • 如果文件类型无效,则在列表项中显示一条消息,告诉用户需要选择一个其它的文件类型。
  • -
+- 如果文件类型无效,则在列表项中显示一条消息,告诉用户需要选择一个其它的文件类型。 -
function updateImageDisplay() {
+```js
+function updateImageDisplay() {
   while(preview.firstChild) {
     preview.removeChild(preview.firstChild);
   }
@@ -440,11 +394,13 @@ input.style.opacity = 0;
list.appendChild(listItem); } } -} +} +``` -

定制的 validFileType() 函数接受一个 {{domxref("File")}} 对象作为参数,然后使用 {{jsxref("Array.prototype.includes()")}} 检查 fileTypes 中是否有值和文件的 type 属性匹配。如果找到匹配项,函数返回 true。如果没找到,返回 false

+定制的 `validFileType()` 函数接受一个 {{domxref("File")}} 对象作为参数,然后使用 {{jsxref("Array.prototype.includes()")}} 检查 `fileTypes` 中是否有值和文件的 `type` 属性匹配。如果找到匹配项,函数返回 `true`。如果没找到,返回 `false`。 -
const fileTypes = [
+```js
+const fileTypes = [
   'image/jpeg',
   'image/pjpeg',
   'image/png'
@@ -452,35 +408,36 @@ input.style.opacity = 0;
function validFileType(file) { return fileTypes.includes(file.type); -} +} +``` -

returnFileSize() 函数接受一个数字(字节数,取自当前文件的 size 属性)作为参数,并且将其转化为用 bytes/KB/MB 表示的格式良好的大小。

+`returnFileSize()` 函数接受一个数字(字节数,取自当前文件的 `size` 属性)作为参数,并且将其转化为用 bytes/KB/MB 表示的格式良好的大小。 -
function returnFileSize(number) {
-  if(number < 1024) {
+```js
+function returnFileSize(number) {
+  if(number < 1024) {
     return number + 'bytes';
-  } else if(number >= 1024 && number < 1048576) {
+  } else if(number >= 1024 && number < 1048576) {
     return (number/1024).toFixed(1) + 'KB';
-  } else if(number >= 1048576) {
+  } else if(number >= 1048576) {
     return (number/1048576).toFixed(1) + 'MB';
   }
-}
+} +``` -

这个例子是这样的;演示一下:

+这个例子是这样的;演示一下: -

{{EmbedLiveSample('示例', '100%', 200)}}

+{{EmbedLiveSample('示例', '100%', 200)}} -

规范

+## 规范 {{Specifications}} -

浏览器兼容性

+## 浏览器兼容性 -

{{Compat}}

+{{Compat}} -

相关链接

+## 相关链接 - +- [在 web 应用中使用文件](/zh-CN/docs/Web/API/File/Using_files_from_web_applications) — 包含许多其它关于 `` 和 [File API](/zh-CN/docs/Web/API/File) 的有用示例。 +- [CCSS 属性兼容性](zh-CN/docs/Learn/HTML/Forms/Property_compatibility_table_for_form_widgets) diff --git a/files/zh-cn/web/html/element/input/hidden/index.md b/files/zh-cn/web/html/element/input/hidden/index.md index 7a31549184e06b..a4003914d90def 100644 --- a/files/zh-cn/web/html/element/input/hidden/index.md +++ b/files/zh-cn/web/html/element/input/hidden/index.md @@ -10,19 +10,17 @@ tags: - 隐藏表单 translation_of: Web/HTML/Element/input/hidden --- -
{{HTMLRef}}
+{{HTMLRef}} -

"hidden" 类型的 {{HTMLElement("input")}} 元素允许 Web 开发者存放一些用户不可见、不可改的数据,在用户提交表单时,这些数据会一并发送出。比如,正被请求或编辑的内容的 ID,或是一个唯一的安全令牌。这些隐藏的 <input>元素在渲染完成的页面中完全不可见,而且没有方法可以使它重新变为可见。

+**`"hidden"`** 类型的 `{{HTMLElement("input")}}` 元素允许 Web 开发者存放一些用户不可见、不可改的数据,在用户提交表单时,这些数据会一并发送出。比如,正被请求或编辑的内容的 ID,或是一个唯一的安全令牌。这些隐藏的 [``](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input)元素在渲染完成的页面中完全不可见,而且没有方法可以使它重新变为可见。 -
-

注意:本警告框下面的代码下,就有一个 <input type="hidden"> 的 live example 可交互示例——如果它正常运作的话,你应当什么也看不到!

-
+> **备注:** 本警告框下面的代码下,就有一个 `` 的 live example 可交互示例——如果它正常运作的话,你应当什么也看不到! -
-
<input id="prodId" name="prodId" type="hidden" value="xm234jq">
+```html + +``` -

{{ EmbedLiveSample('Basic_example', 600, 40) }}

-
+{{ EmbedLiveSample('Basic_example', 600, 40) }} @@ -49,100 +47,84 @@ translation_of: Web/HTML/Element/input/hidden
-
-

注意:{{HTMLElement("input")}}change事件不适用于此输入类型。隐藏的输入无法获得焦点, 即使使用 JavaScript 例如 (e.g. hiddenInput.focus())

-
+> **备注:** `{{HTMLElement("input")}}`和[`change`](https://developer.mozilla.org/zh-CN/docs/Web/Events/change)事件不适用于此输入类型。隐藏的输入无法获得焦点, 即使使用 JavaScript 例如 (e.g. `hiddenInput.focus()`) -

属性值

+## 属性值 -

{{HTMLElement("input")}}元素的{{htmlattrxref("value", "input")}}属性有{{domxref("DOMString")}},其中包含您想提交到服务器的隐藏数据尽管您可以通过浏览器开发人员工具编辑该值,但明确的是,用户不能通过用户界面对其编辑或看到。

+`{{HTMLElement("input")}}`元素的`{{htmlattrxref("value", "input")}}`属性有`{{domxref("DOMString")}}`,其中包含您想提交到服务器的隐藏数据尽管您可以通过浏览器开发人员工具编辑该值,但明确的是,用户不能通过用户界面对其编辑或看到。 -
-

重要提示:尽管该值未在页面内容中显示给用户,但可以使用任何浏览器的开发人员工具或 “查看源代码” 功能来查看并进行编辑。 请不要依赖 hidden 输入作为安全表单。

-
+> **警告:** 尽管该值未在页面内容中显示给用户,但可以使用任何浏览器的开发人员工具或 “查看源代码” 功能来查看并进行编辑。 请不要依赖 `hidden` 输入作为安全表单。 -

额外属性

+## 额外属性 -

除所有 {{HTMLElement("input")}}元素所共有的属性之外,带有 hidden 属性的 {{HTMLElement("input")}}提供以下额外属性:

+除所有 `{{HTMLElement("input")}}`元素所共有的属性之外,带有 `hidden` 属性的 `{{HTMLElement("input")}}`提供以下额外属性: - - - - - - - - - - - - - -
属性描述
name与所有输入类型一样,这可以是提交表单时反馈给服务器的 {{HTMLElement("input")}} 的名称;使用特殊属性值 _charset_ 则会使当前隐藏 {{HTMLElement("input")}} 的值被反馈为表单内容的字符编码
+| 属性 | 描述 | +| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`name`](#attr-name) | 与所有输入类型一样,这可以是提交表单时反馈给服务器的 `{{HTMLElement("input")}}` 的名称;使用特殊属性值 `_charset_` 则会使当前隐藏 `{{HTMLElement("input")}}` 的值被反馈为表单内容的字符编码 | -

{{htmlattrdef("name")}}

+### {{htmlattrdef("name")}} -

这实际上是常见属性之一,但它对于隐藏的 {{HTMLElement("input")}} 具有一个特殊含义。一般来说,{{htmlattrxref("name", "input")}} 的属性在隐藏 {{HTMLElement("input")}} 上的作用和任何其他 {{HTMLElement("input")}} 上的一样;但是,在提交表单时, name 属性被设置为 _charset_ 的隐藏 {{HTMLElement("input")}},其值会被自动设置为被提交表单的字符编码。

+这实际上是常见属性之一,但它对于隐藏的 `{{HTMLElement("input")}}` 具有一个特殊含义。一般来说,`{{htmlattrxref("name", "input")}}` 的属性在隐藏 `{{HTMLElement("input")}}` 上的作用和任何其他 `{{HTMLElement("input")}}` 上的一样;但是,在提交表单时, `name` 属性被设置为 `_charset_` 的隐藏 `{{HTMLElement("input")}}`,其值会被自动设置为被提交表单的字符编码。 -

使用隐藏 <input>

+## 使用隐藏 [``](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input) -

如上所述,隐藏的 {{HTMLElement("input")}} 可以用于任何有需要提交给服务器的、用户无法查看或编辑的数据的地方。让我们看一些说明其用法的例子吧。

+如上所述,隐藏的 `{{HTMLElement("input")}}` 可以用于任何有需要提交给服务器的、用户无法查看或编辑的数据的地方。让我们看一些说明其用法的例子吧。 -

跟踪被编辑的内容

+### 跟踪被编辑的内容 -

隐藏输入的最常见用途之一是当被编辑的表单提交时,保持跟踪数据库数据的更新。
- 典型的工作流程如下所示:

+隐藏输入的最常见用途之一是当被编辑的表单提交时,保持跟踪数据库数据的更新。 +典型的工作流程如下所示: -
    -
  1. 用户决定编辑他们可以控制的某些内容,例如博客文章或产品条目。 他们可以通过按编辑按钮开始。
  2. -
  3. 要被编辑的内容从数据库中提取并加载到 HTML 表单中,以允许用户进行更改。
  4. -
  5. 编辑后,用户提交表单,并将更新后的被数据发送回服务器以在数据库中进行更新。
  6. -
+1. 用户决定编辑他们可以控制的某些内容,例如博客文章或产品条目。 他们可以通过按编辑按钮开始。 +2. 要被编辑的内容从数据库中提取并加载到 HTML 表单中,以允许用户进行更改。 +3. 编辑后,用户提交表单,并将更新后的被数据发送回服务器以在数据库中进行更新。 -

在这里的步骤 2 思路中,要被更新的 ID 记录保留在隐藏的输入中。 在步骤 3 中提交表单后,该 ID 随记录内容自动发送回服务器。 该 ID 使站点的服务器端组件确切知道哪些记录需要被提交的数据更新的。

+在这里的步骤 2 思路中,要被更新的 ID 记录保留在隐藏的输入中。 在步骤 3 中提交表单后,该 ID 随记录内容自动发送回服务器。 该 ID 使站点的服务器端组件确切知道哪些记录需要被提交的数据更新的。 -

您可以在下面的 例子 部分中看到完整的示例

+您可以在下面的 [](/zh-CN/docs/Web/HTML/Element/input/hidden#例子)[例子](#例子) 部分中看到完整的[示例](/zh-CN/docs/Web/HTML/Element/input/hidden#例子)。 -

改善网站安全性

+### 改善网站安全性 -

隐藏输入表单还用于存储和提交安全令牌或机密信息,以提高网站的安全性。基本思路是,如果用户填写敏感表格,例如在其银行网站上将某笔款项转入另一个帐户的表格,他们将被提供的密钥和证明他们就是他们所说的真实身份,并且他们使用正确的表单来提交转移请求。

+隐藏输入表单还用于存储和提交安全令牌或机密信息,以提高网站的安全性。基本思路是,如果用户填写敏感表格,例如在其银行网站上将某笔款项转入另一个帐户的表格,他们将被提供的密钥和证明他们就是他们所说的真实身份,并且他们使用正确的表单来提交转移请求。 -

这将阻止恶意用户创建伪造的表单,伪装成银行,然后通过电子邮件将表单发送给毫无戒备心的用户,以诱骗他们将钱转入错误的位置。 这种攻击称为跨站点请求伪造(CSRF);几乎任何信誉良好的服务器端框架都使用隐藏机密来防止此类攻击。

+这将阻止恶意用户创建伪造的表单,伪装成银行,然后通过电子邮件将表单发送给毫无戒备心的用户,以诱骗他们将钱转入错误的位置。 这种攻击称为[跨站点请求伪造(CSRF)]();几乎任何信誉良好的服务器端框架都使用隐藏机密来防止此类攻击。 -
-

如前所述,将密钥放置在隐藏的输入中并不能使其固有安全性。 密钥的组成和编码已经可以做到这一点。隐藏输入的值是保持它与数据关联性,并在将表单发送到服务器时自动将其包含在内。 您需要使用精心设计的密钥来真正保护您的网站。

-
+> **备注:** 如前所述,将密钥放置在隐藏的输入中并不能使其固有安全性。 密钥的组成和编码已经可以做到这一点。隐藏输入的值是保持它与数据关联性,并在将表单发送到服务器时自动将其包含在内。 您需要使用精心设计的密钥来真正保护您的网站。 -

验证

+## 验证 -

隐藏的 {{HTMLElement("input")}} 不参与约束验证;他们没有可受到约束的属性值。

+隐藏的 `{{HTMLElement("input")}}` 不参与约束验证;他们没有可受到约束的属性值。 -

例子

+## 例子 -

让我们看一下如何使用隐藏输入保存正在被编辑的记录的 ID,实现我们先前描述的编辑表单的简单版本(请参阅 跟踪被编辑的内容)。

+让我们看一下如何使用隐藏输入保存正在被编辑的记录的 ID,实现我们先前描述的编辑表单的简单版本(请参阅 `跟踪被编辑的内容`)。 -

编辑表单的 HTML 可能看起来像这样:

+编辑表单的 HTML 可能看起来像这样: -
<form>
-  <div>
-    <label for="title">Post title:</label>
-    <input type="text" id="title" name="title" value="My excellent blog post">
-  </div>
-  <div>
-    <label for="content">Post content:</label>
-    <textarea id="content" name="content" cols="60" rows="5">
+```html
+
+
+ + +
+
+ + +
+
+ +
+ +
+``` + +我们还添加一些简单的 CSS: + +```css +html { font-family: sans-serif; } @@ -171,35 +153,32 @@ input, textarea { textarea { height: 60px; -}
+} +``` -

在将表单发送给用户的浏览器之前,服务器会将 ID "postID"的隐藏输入的值设置为其数据库中发送的 ID,并在返回表单时使用该信息来知道要向哪个数据库记录更新改变后的信息。 内容中无需脚本即可处理。

+在将表单发送给用户的浏览器之前,服务器会将 ID `"postID"`的隐藏输入的值设置为其数据库中发送的 ID,并在返回表单时使用该信息来知道要向哪个数据库记录更新改变后的信息。 内容中无需脚本即可处理。 -

输出看起来像这样:

+输出看起来像这样: -

{{ EmbedLiveSample('Examples', '100%', 200) }}

+{{ EmbedLiveSample('Examples', '100%', 200) }} -
-

注意:您还可以在 GitHub 上找到示例(请参见源代码,并可以实时运行)。

-
+> **备注:** 您还可以在 GitHub 上找到示例(请参见[源代码](https://github.com/mdn/learning-area/blob/master/html/forms/hidden-input-example/index.html),并可以[实时运行](https://mdn.github.io/learning-area/html/forms/hidden-input-example/index.html))。 -

提交后,发送到服务器的表单数据将如下所示:

+提交后,发送到服务器的表单数据将如下所示: -

title=My+excellent+blog+post&content=This+is+the+content+of+my+excellent+blog+post.+I+hope+you+enjoy+it!&postId=34657

+`title=My+excellent+blog+post&content=This+is+the+content+of+my+excellent+blog+post.+I+hope+you+enjoy+it!&postId=34657` -

即使根本看不到隐藏的 {{HTMLElement("input")}},它所包含的数据仍然会被提交给服务器。

+即使根本看不到隐藏的 `{{HTMLElement("input")}}`,它所包含的数据仍然会被提交给服务器。 -

规范

+## 规范 {{Specifications}} -

浏览器兼容性

+## 浏览器兼容性 -

{{Compat}}

+{{Compat}} -

参见

+## 参见 -
    -
  • HTML forms guide
  • -
  • {{HTMLElement("input")}} and the {{domxref("HTMLInputElement")}} interface it's based upon
  • -
+- [HTML forms guide](/zh-CN/docs/Learn/HTML/Forms) +- {{HTMLElement("input")}} and the {{domxref("HTMLInputElement")}} interface it's based upon diff --git a/files/zh-cn/web/html/element/input/image/index.md b/files/zh-cn/web/html/element/input/image/index.md index 9b47c13fb20f0f..853262ad868845 100644 --- a/files/zh-cn/web/html/element/input/image/index.md +++ b/files/zh-cn/web/html/element/input/image/index.md @@ -3,8 +3,9 @@ title: slug: Web/HTML/Element/Input/image translation_of: Web/HTML/Element/input/image --- -
{{HTMLRef}}
-

<input type="image"> 标签是一个图片提交按钮。 你必须使用 src 属性来定义图片的源,并且使用alt来定义当图片无法显示的时候的替代文字。 heightwidth属性是用来定义图片的高和宽的。

+{{HTMLRef}} + +` 标签是一个图片提交按钮`。 你必须使用 **src** 属性来定义图片的源,并且使用**alt**来定义当图片无法显示的时候的替代文字。 **height** 和**width**属性是用来定义图片的高和宽的。 @@ -18,7 +19,7 @@ translation_of: Web/HTML/Element/input/image - + @@ -27,74 +28,62 @@ translation_of: Web/HTML/Element/input/image
Permitted parent elementsAny element that accepts phrasing content.Any element that accepts phrasing content.
DOM interface
-

Attributes

- -

This element includes the global attributes.

- -

{{htmlattrdef("type")}}

- -
-
{{htmlattrdef("formaction")}}
-
The URI of a program that processes the information submitted by the input element, here image if specified, it overrides the {{htmlattrxref("action","form")}} attribute of the element's form owner.
-
- -
-
{{htmlattrdef("formenctype")}}
-
If the input element is an image, this attribute specifies the type of content that is used to submit the form to the server. Possible values are: -
    -
  • application/x-www-form-urlencoded: The default value if the attribute is not specified.
  • -
  • multipart/form-data: Use this value if you are using an {{HTMLElement("input")}} element with the {{htmlattrxref("type","input")}} attribute set to file.
  • -
  • text/plain
  • -
- -

If this attribute is specified, it overrides the {{htmlattrxref("enctype","form")}} attribute of the element's form owner.

-
-
{{htmlattrdef("formmethod")}}
-
In image input element, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are: -
    -
  • post: The data from the form is included in the body of the form and is sent to the server.
  • -
  • get: The data from the form is appended to the form attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.
  • -
- -

If specified, this attribute overrides the {{htmlattrxref("method","form")}} attribute of the element's form owner.

-
-
{{htmlattrdef("formnovalidate")}}
-
This Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the {{htmlattrxref("novalidate","form")}} attribute of the element's form owner.
-
{{htmlattrdef("formtarget")}}
-
This attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a browsing context (for example, tab, window, or inline frame). If this attribute is specified, it overrides the {{htmlattrxref("target", "form")}} attribute of the element's form owner. The following keywords have special meanings: -
    -
  • _self: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified.
  • -
  • _blank: Load the response into a new unnamed browsing context.
  • -
  • _parent: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as _self.
  • -
  • _top: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as _self.
  • -
-
-
{{htmlattrdef("height")}}
-
This attribute defines the height of the image displayed for the button.
-
{{htmlattrdef("required")}}
-
This attribute specifies that the user must fill in a value before submitting a form but it cannot be used when the type attribute is image type (submit, reset, or button). The {{cssxref(":optional")}} and {{cssxref(":required")}} CSS pseudo-classes will be applied to the field as appropriate.
-
{{htmlattrdef("src")}}
-
This attribute specifies a URI for the location of an image to display on the graphical submit button; otherwise it is ignored.
-
{{htmlattrdef("usemap")}} {{Deprecated_Inline}}
-
The name of a {{HTMLElement("map")}} element as an image map.
-
{{htmlattrdef("width")}}
-
This attribute defines the width of the image displayed for the button.
-
- -

Examples

- -

Firefox logo input image example

- -
<input type="image" name="image" src="/files/2917/fxlogo.png" width="50">
- -

Result

- -

{{ EmbedLiveSample('simple_input_image_example') }}

- -

Specifications

+## Attributes + +This element includes the [global attributes](/zh-CN/docs/HTML/Global_attributes). + +{{htmlattrdef("type")}} + +- {{htmlattrdef("formaction")}} + - : The URI of a program that processes the information submitted by the input element, here image if specified, it overrides the {{htmlattrxref("action","form")}} attribute of the element's form owner. + +- {{htmlattrdef("formenctype")}} + - : If the input element is an image, this attribute specifies the type of content that is used to submit the form to the server. Possible values are: + + - `application/x-www-form-urlencoded`: The default value if the attribute is not specified. + - `multipart/form-data`: Use this value if you are using an {{HTMLElement("input")}} element with the {{htmlattrxref("type","input")}} attribute set to `file`. + - `text/plain`If this attribute is specified, it overrides the {{htmlattrxref("enctype","form")}} attribute of the element's form owner. +- {{htmlattrdef("formmethod")}} + - : In image input element, this attribute specifies the HTTP method that the browser uses to submit the form. Possible values are: + + - `post`: The data from the form is included in the body of the form and is sent to the server. + - `get`: The data from the form is appended to the **form** attribute URI, with a '?' as a separator, and the resulting URI is sent to the server. Use this method when the form has no side-effects and contains only ASCII characters.If specified, this attribute overrides the {{htmlattrxref("method","form")}} attribute of the element's form owner. +- {{htmlattrdef("formnovalidate")}} + - : This Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the {{htmlattrxref("novalidate","form")}} attribute of the element's form owner. +- {{htmlattrdef("formtarget")}} + - : This attribute is a name or keyword indicating where to display the response that is received after submitting the form. This is a name of, or keyword for, a _browsing context_ (for example, tab, window, or inline frame). If this attribute is specified, it overrides the {{htmlattrxref("target", "form")}} attribute of the element's form owner. The following keywords have special meanings: + + - `_self`: Load the response into the same browsing context as the current one. This value is the default if the attribute is not specified. + - `_blank`: Load the response into a new unnamed browsing context. + - `_parent`: Load the response into the parent browsing context of the current one. If there is no parent, this option behaves the same way as `_self`. + - `_top`: Load the response into the top-level browsing context (that is, the browsing context that is an ancestor of the current one, and has no parent). If there is no parent, this option behaves the same way as `_self`. +- {{htmlattrdef("height")}} + - : This attribute defines the height of the image displayed for the button. +- {{htmlattrdef("required")}} + - : This attribute specifies that the user must fill in a value before submitting a form but it cannot be used when the **type** attribute is `image` type (`submit`, `reset`, or `button`). The {{cssxref(":optional")}} and {{cssxref(":required")}} CSS pseudo-classes will be applied to the field as appropriate. +- {{htmlattrdef("src")}} + - : This attribute specifies a URI for the location of an image to display on the graphical submit button; otherwise it is ignored. +- {{htmlattrdef("usemap")}} {{Deprecated_Inline}} + - : The name of a {{HTMLElement("map")}} element as an image map. +- {{htmlattrdef("width")}} + - : This attribute defines the width of the image displayed for the button. + +## Examples + +### Firefox logo input image example + +```html + +``` + +#### Result + +{{ EmbedLiveSample('simple_input_image_example') }} + +## Specifications {{Specifications}} -

Browser compatibility

+## Browser compatibility -

{{Compat}}

+{{Compat}} diff --git a/files/zh-cn/web/html/element/input/index.md b/files/zh-cn/web/html/element/input/index.md index 7f6e045efdbe07..4c724d59f2edd6 100644 --- a/files/zh-cn/web/html/element/input/index.md +++ b/files/zh-cn/web/html/element/input/index.md @@ -12,1112 +12,861 @@ tags: - Web translation_of: Web/HTML/Element/input --- -

{{HTMLRef}}

+{{HTMLRef}} -

HTML <input> 元素用于为基于 Web 的表单创建交互式控件,以便接受来自用户的数据; 可以使用各种类型的输入数据和控件小部件,具体取决于设备和{{Glossary("user agent", "用户代理")}}。

+**HTML `` 元素**用于为基于 Web 的表单创建交互式控件,以便接受来自用户的数据; 可以使用各种类型的输入数据和控件小部件,具体取决于设备和{{Glossary("user agent", "用户代理")}}。 -

{{EmbedInteractiveExample("pages/tabbed/input-text.html", "tabbed-shorter")}}

+{{EmbedInteractiveExample("pages/tabbed/input-text.html", "tabbed-shorter")}} - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + +
内容分类流式元素;短语元素;交互元素(若 type 属性不处于隐藏 hidden状态);表单相关内容、可列举的元素、可标签的元素、可提交的元素、可重置的元素。
允许的内容无,这是一个{{Glossary("empty element","空元素")}}。
标签省略 -

必须有开始标签但不必有结束标签。

-
允许的祖先元素任何元素都可以包含语句型元素。
允许的无障碍网络应用 -
    -
  • type=button:{{ARIARole("link")}}, {{ARIARole("menuitem")}}, {{ARIARole("menuitemcheckbox")}}, {{ARIARole("menuitemradio")}}, {{ARIARole("radio")}}, {{ARIARole("switch")}}, {{ARIARole("tab")}}
  • -
  • type=checkbox:{{ARIARole("button")}}, {{ARIARole("menuitemcheckbox")}}, {{ARIARole("option")}}, {{ARIARole("switch")}}
  • -
  • type=image:{{ARIARole("link")}}, {{ARIARole("menuitem")}}, {{ARIARole("menuitemcheckbox")}}, {{ARIARole("menuitemradio")}}, {{ARIARole("radio")}}, {{ARIARole("switch")}}
  • -
  • type=radio:{{ARIARole("menuitemradio")}}
  • -
  • type=color|date|datetime|datetime-local|email|file:None
  • -
  • type=hidden|month|number|password|range|research:None
  • -
  • type=search|submit|tel|text|url|week:None
  • -
-
DOM 接口{{domxref("HTMLInputElement")}}
+ 内容分类 + + 流式元素;短语元素;交互元素(若 type 属性不处于隐藏 + hidden状态);表单相关内容、可列举的元素、可标签的元素、可提交的元素、可重置的元素。 +
允许的内容 + 无,这是一个{{Glossary("empty element","空元素")}}。 +
标签省略

必须有开始标签但不必有结束标签。

允许的祖先元素任何元素都可以包含语句型元素。
允许的无障碍网络应用 +
    +
  • + type=button:{{ARIARole("link")}}, + {{ARIARole("menuitem")}}, + {{ARIARole("menuitemcheckbox")}}, + {{ARIARole("menuitemradio")}}, + {{ARIARole("radio")}}, {{ARIARole("switch")}}, + {{ARIARole("tab")}} +
  • +
  • + type=checkbox:{{ARIARole("button")}}, + {{ARIARole("menuitemcheckbox")}}, + {{ARIARole("option")}}, {{ARIARole("switch")}} +
  • +
  • + type=image:{{ARIARole("link")}}, + {{ARIARole("menuitem")}}, + {{ARIARole("menuitemcheckbox")}}, + {{ARIARole("menuitemradio")}}, + {{ARIARole("radio")}}, {{ARIARole("switch")}} +
  • +
  • + type=radio:{{ARIARole("menuitemradio")}} +
  • +
  • + type=color|date|datetime|datetime-local|email|file:None +
  • +
  • + type=hidden|month|number|password|range|research:None +
  • +
  • type=search|submit|tel|text|url|week:None
  • +
+
DOM 接口{{domxref("HTMLInputElement")}}
-

<input> types

+## `` types -

<input> 的工作方式相当程度上取决于 {{htmlattrxref("type", "input")}} 属性的值,不同的 type 值会在各自的参考页中进行介绍。如果未指定此属性,则采用的默认类型为 text

+`` 的工作方式相当程度上取决于 {{htmlattrxref("type", "input")}} 属性的值,不同的 type 值会在各自的参考页中进行介绍。如果未指定此属性,则采用的默认类型为 `text`。 -

可用的值包括:

+可用的值包括: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type描述基础例子
{{HTMLElement("input/button", "button")}}没有默认行为的按钮,上面显示 value 属性的值,默认为空。 - - {{EmbedLiveSample("examplebutton",200,55,"","", "nobutton")}} -
{{HTMLElement("input/checkbox", "checkbox")}}复选框,可设为选中或未选中。 - - {{EmbedLiveSample("examplecheckbox",200,55,"","", "nobutton")}} -
{{HTMLElement("input/color", "color")}}用于指定颜色的控件;在支持的浏览器中,激活时会打开取色器。 - - {{EmbedLiveSample("examplecolor",200,55,"","", "nobutton")}} -
{{HTMLElement("input/date", "date")}}输入日期的控件(年、月、日,不包括时间)。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 - - {{EmbedLiveSample("exampledate",200,55,"","", "nobutton")}} -
{{HTMLElement("input/datetime-local", "datetime-local")}}输入日期和时间的控件,不包括时区。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 - - {{EmbedLiveSample("exampledtl",200,55,"","", "nobutton")}} -
{{HTMLElement("input/email", "email")}}编辑邮箱地址的区域。类似 text 输入,但在支持的浏览器和带有动态键盘的设备上会有确认参数和相应的键盘。 - - {{EmbedLiveSample("exampleemail",200,55,"","", "nobutton")}} -
{{HTMLElement("input/file", "file")}}让用户选择文件的控件。使用 accept 属性规定控件能选择的文件类型。 - - {{EmbedLiveSample("examplefile",'100%',55,"","", "nobutton")}} -
{{HTMLElement("input/hidden", "hidden")}}不显示的控件,其值仍会提交到服务器。举个例子,右边就是一个隐形的控件。
{{HTMLElement("input/image", "image")}}带图像的 submit 按钮。显示的图像由 src 属性规定。如果 src 缺失,alt 属性就会显示。 - - {{EmbedLiveSample("exampleimage",200,55,"","", "nobutton")}} -
{{HTMLElement("input/month", "month")}}输入年和月的控件,没有时区。 - - {{EmbedLiveSample("examplemonth",200,55,"","", "nobutton")}} -
{{HTMLElement("input/number", "number")}}用于输入数字的控件。如果支持的话,会显示滚动按钮并提供缺省验证(即只能输入数字)。拥有动态键盘的设备上会显示数字键盘。 - - {{EmbedLiveSample("examplenumber",200,55,"","", "nobutton")}}
{{HTMLElement("input/password", "password")}}单行的文本区域,其值会被遮盖。如果站点不安全,会警告用户。 - - {{EmbedLiveSample("examplepassword",200,55,"","", "nobutton")}} -
{{HTMLElement("input/radio", "radio")}}单选按钮,允许在多个拥有相同 name 值的选项中选中其中一个。 - - {{EmbedLiveSample("exampleradio",200,55,"","", "nobutton")}} -
{{HTMLElement("input/range", "range")}}此控件用于输入不需要精确的数字。控件是一个范围组件,默认值为正中间的值。同时使用 minmax 来规定值的范围。 - - {{EmbedLiveSample("examplerange",200,55,"","", "nobutton")}} -
{{HTMLElement("input/reset", "reset")}}此按钮将表单的所有内容重置为默认值。不推荐。 - - {{EmbedLiveSample("examplereset",200,55,"","", "nobutton")}} -
{{HTMLElement("input/search", "search")}}用于搜索字符串的单行文字区域。输入文本中的换行会被自动去除。在支持的浏览器中可能有一个删除按钮,用于清除整个区域。拥有动态键盘的设备上的回车图标会变成搜索图标。 - - {{EmbedLiveSample("examplesearch",200,55,"","", "nobutton")}} -
{{HTMLElement("input/submit", "submit")}}用于提交表单的按钮。 - - {{EmbedLiveSample("examplesubmit",200,55,"","", "nobutton")}} -
{{HTMLElement("input/tel", "tel")}}用于输入电话号码的控件。拥有动态键盘的设备上会显示电话数字键盘。 - - {{EmbedLiveSample("exampletel",200,55,"","", "nobutton")}} -
{{HTMLElement("input/text", "text")}}默认值。单行的文本区域,输入中的换行会被自动去除。 - - {{EmbedLiveSample("exampletext",200,55,"","", "nobutton")}} -
{{HTMLElement("input/time", "time")}}用于输入时间的控件,不包括时区。 - - {{EmbedLiveSample("exampletime",200,55,"","", "nobutton")}} -
{{HTMLElement("input/url", "url")}} -

用于输入 URL 的控件。类似 text 输入,但有验证参数,在支持动态键盘的设备上有相应的键盘。

-
- - {{EmbedLiveSample("exampleurl",200,55,"","", "nobutton")}} -
{{HTMLElement("input/week", "week")}}用于输入以年和周数组成的日期,不带时区。 - - {{EmbedLiveSample("exampleweek",200,55,"","", "nobutton")}} -
废弃的值
{{HTMLElement("input/datetime", "datetime")}}{{deprecated_inline}} 用于输入基于 UTC 时区的日期和时间(时、分、秒及秒的小数部分)。 - - {{EmbedLiveSample("exampledatetime",200,75,"","", "nobutton")}} -
- -

属性

- -

<input> 元素由于拥有诸多属性而异常强大,其中前文举例说明的 {{htmlattrxref("type", "input")}} 属性尤其重要。由于所有 <input> 元素,无论是哪种 type,都基于 {{domxref("HTMLInputElement")}} 接口,所以理论上说,它们共享一套相同的属性。但实际上大部分属性只作用于特定一组 type。此外,一些属性作用于 <input> 的方式取决于 <input>type 属性,不同的 type 有不同的效果。

- -

下面的表格列出了所有属性,每个属性都有简短的描述。表格后的列表更详细地描述了各个属性及它们与哪些 <input> type 相关。与大部分或者全部 <input> type 都相关的属性会讲述更多细节。一些针对特定 <input> type 的属性,或者所有 <input> type 都有,但在特定的 <input> type 上有特定表现的属性,会在相应的 type 页面中说明。这个元素包含全局属性,一些针对 <input> 元素有额外意义的全局属性也会特别说明。

- - - -
-

{{htmlelement('input')}} 元素的属性包括全局 HTML 属性和以下属性:

- - + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
属性相关的 type描述
Type描述基础例子
acceptfile用于规定文件上传控件中期望的文件类型
altimageimage type 的 alt 属性,是可访问性的要求。
autocomplete所有用于表单的自动填充功能
autofocus所有页面加载时自动聚焦到此表单控件
capturefile文件上传控件中媒体拍摄的方式
checkedradio、checkbox用于控制控件是否被选中
dirnametext、search表单区域的一个名字,用于在提交表单时发送元素的方向性
disabled所有表单控件是否被禁用
form所有将控件和一个 form 元素联系在一起
formactionimage、submit用于提交表单的 URL
formenctypeimage、submit表单数据集的编码方式,用于表单提交
formmethodimage、submit用于表单提交的 HTTP 方法
formnovalidateimage、submit提交表单时绕过对表单控件的验证
formtargetimage、submit表单提交的浏览上下文
heightimage -

和 {{htmlelement('img')}} 的 height 属性相同;垂直方向

-
list绝大部分自动填充选项的 {{htmlelement('datalist')}} 的 id 值
max数字 type最大值
maxlengthpassword、search、tel、text、urlvalue 的最大长度(最多字符数目)
min数字 type最小值
minlengthpassword、search、tel、text、urlvalue 的最小长度(最少字符数目)
multipleemail、file布尔值。是否允许多个值
name所有input 表单控件的名字。以名字/值对的形式随表单一起提交
patternpassword、text、tel匹配有效 value 的模式(pattern)
placeholderpassword、search、tel、text、url当表单控件为空时,控件中显示的内容
readonly绝大部分布尔值。存在时表示控件的值不可编辑
required绝大部分布尔值。表示此值为必填项或者提交表单前必须先检查该值
sizeemail、password、tel、text控件的大小
srcimage和 {{htmlelement('img')}} 的 src 属性一样;图像资源的地址
step数字 type有效的递增值
type所有input 表单控件的 type
value所有表单控件的值。以名字/值对的形式随表单一起提交
widthimage与 {{htmlelement('img')}} 的 width 属性一样
{{HTMLElement("input/button", "button")}} + 没有默认行为的按钮,上面显示 + value 属性的值,默认为空。 + + + {{EmbedLiveSample("examplebutton",200,55,"","", "nobutton")}} +
{{HTMLElement("input/checkbox", "checkbox")}}复选框,可设为选中或未选中。 + + {{EmbedLiveSample("examplecheckbox",200,55,"","", "nobutton")}} +
{{HTMLElement("input/color", "color")}}用于指定颜色的控件;在支持的浏览器中,激活时会打开取色器。 + + {{EmbedLiveSample("examplecolor",200,55,"","", "nobutton")}} +
{{HTMLElement("input/date", "date")}} + 输入日期的控件(年、月、日,不包括时间)。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 + + + {{EmbedLiveSample("exampledate",200,55,"","", "nobutton")}} +
+ {{HTMLElement("input/datetime-local", "datetime-local")}} + + 输入日期和时间的控件,不包括时区。在支持的浏览器激活时打开日期选择器或年月日的数字滚轮。 + + + {{EmbedLiveSample("exampledtl",200,55,"","", "nobutton")}} +
{{HTMLElement("input/email", "email")}} + 编辑邮箱地址的区域。类似 + text + 输入,但在支持的浏览器和带有动态键盘的设备上会有确认参数和相应的键盘。 + + + {{EmbedLiveSample("exampleemail",200,55,"","", "nobutton")}} +
{{HTMLElement("input/file", "file")}} + 让用户选择文件的控件。使用 + accept 属性规定控件能选择的文件类型。 + + + {{EmbedLiveSample("examplefile",'100%',55,"","", "nobutton")}} +
{{HTMLElement("input/hidden", "hidden")}} + 不显示的控件,其值仍会提交到服务器。举个例子,右边就是一个隐形的控件。 +
{{HTMLElement("input/image", "image")}} + 带图像的 submit 按钮。显示的图像由 + src 属性规定。如果 src 缺失,alt + 属性就会显示。 + + + {{EmbedLiveSample("exampleimage",200,55,"","", "nobutton")}} +
{{HTMLElement("input/month", "month")}}输入年和月的控件,没有时区。 + + {{EmbedLiveSample("examplemonth",200,55,"","", "nobutton")}} +
{{HTMLElement("input/number", "number")}} + 用于输入数字的控件。如果支持的话,会显示滚动按钮并提供缺省验证(即只能输入数字)。拥有动态键盘的设备上会显示数字键盘。 + + + {{EmbedLiveSample("examplenumber",200,55,"","", "nobutton")}} +
{{HTMLElement("input/password", "password")}}单行的文本区域,其值会被遮盖。如果站点不安全,会警告用户。 + + {{EmbedLiveSample("examplepassword",200,55,"","", "nobutton")}} +
{{HTMLElement("input/radio", "radio")}} + 单选按钮,允许在多个拥有相同 + name 值的选项中选中其中一个。 + + + {{EmbedLiveSample("exampleradio",200,55,"","", "nobutton")}} +
{{HTMLElement("input/range", "range")}} + 此控件用于输入不需要精确的数字。控件是一个范围组件,默认值为正中间的值。同时使用 + min 和 + max 来规定值的范围。 + + + {{EmbedLiveSample("examplerange",200,55,"","", "nobutton")}} +
{{HTMLElement("input/reset", "reset")}}此按钮将表单的所有内容重置为默认值。不推荐。 + + {{EmbedLiveSample("examplereset",200,55,"","", "nobutton")}} +
{{HTMLElement("input/search", "search")}} + 用于搜索字符串的单行文字区域。输入文本中的换行会被自动去除。在支持的浏览器中可能有一个删除按钮,用于清除整个区域。拥有动态键盘的设备上的回车图标会变成搜索图标。 + + + {{EmbedLiveSample("examplesearch",200,55,"","", "nobutton")}} +
{{HTMLElement("input/submit", "submit")}}用于提交表单的按钮。 + + {{EmbedLiveSample("examplesubmit",200,55,"","", "nobutton")}} +
{{HTMLElement("input/tel", "tel")}}用于输入电话号码的控件。拥有动态键盘的设备上会显示电话数字键盘。 + + {{EmbedLiveSample("exampletel",200,55,"","", "nobutton")}} +
{{HTMLElement("input/text", "text")}}默认值。单行的文本区域,输入中的换行会被自动去除。 + + {{EmbedLiveSample("exampletext",200,55,"","", "nobutton")}} +
{{HTMLElement("input/time", "time")}}用于输入时间的控件,不包括时区。 + + {{EmbedLiveSample("exampletime",200,55,"","", "nobutton")}} +
{{HTMLElement("input/url", "url")}} +

+ 用于输入 URL 的控件。类似 + text + 输入,但有验证参数,在支持动态键盘的设备上有相应的键盘。 +

+
+ + {{EmbedLiveSample("exampleurl",200,55,"","", "nobutton")}} +
{{HTMLElement("input/week", "week")}}用于输入以年和周数组成的日期,不带时区。 + + {{EmbedLiveSample("exampleweek",200,55,"","", "nobutton")}} +
废弃的值
{{HTMLElement("input/datetime", "datetime")}} + {{deprecated_inline}} 用于输入基于 UTC + 时区的日期和时间(时、分、秒及秒的小数部分)。 + + + {{EmbedLiveSample("exampledatetime",200,75,"","", "nobutton")}} +
-
- -

一些额外的非标准属性会在标准属性后面列出。

- -

属性各论

- -
-
{{ htmlattrdef("accept") }}
-
如果该元素的 type 属性的值是 file,则该属性表明了服务器端可接受的文件类型;否则它将被忽略。该属性的值必须为一个逗号分割的列表,包含了多个唯一的内容类型声明: -
    -
  • 以 STOP 字符 (U+002E) 开始的文件扩展名。(例如:".jpg,.png,.doc")
  • -
  • 一个有效的 MIME 类型,但没有扩展名
  • -
  • audio/* 表示音频文件
  • -
  • video/* 表示视频文件
  • -
  • image/* 表示图片文件
  • -
-
-
{{ htmlattrdef("accesskey") }} {{Deprecated_Inline}}
-
用户按下后可以获得此控件焦点的单个字符。这是 HTML5 全局属性。
-
{{ htmlattrdef("autocomplete") }}
-
这个属性表示这个控件的值是否可被浏览器自动填充。如果 type 属性的值是 hidden、checkbox、radio、file,或为按钮类型(button、submit、reset、image),则本属性被忽略。可用的值是: -
    -
  • off:用户必须手动填值,或者该页面提供了自己的自动补全方法。浏览器不对此字段自动填充。
  • -
  • on:浏览器可以根据用户先前的填表情况对此字段自动填值。
  • -
  • name:完整的姓名
  • -
  • honorific-prefix:Prefix or title (e.g. "Mr.", "Ms.", "Dr.", "Mlle")
  • -
  • given-name:名
  • -
  • additional-name
  • -
  • family-name:姓
  • -
  • honorific-suffix:Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II")
  • -
  • nickname
  • -
  • email
  • -
  • username
  • -
  • new-password:新密码(如创建帐号或更改密码时使用)
  • -
  • current-password
  • -
  • organization-title:Job title (e.g. "Software Engineer", "Senior Vice President", "Deputy Managing Director")
  • -
  • organization
  • -
  • street-address
  • -
  • address-line1address-line2address-line3address-level4address-level3address-level2address-level1
  • -
  • country
  • -
  • country-name
  • -
  • postal-code
  • -
  • cc-name:Full name as given on the payment instrument
  • -
  • cc-given-name
  • -
  • cc-additional-name
  • -
  • cc-family-name
  • -
  • cc-number:Code identifying the payment instrument (e.g. the credit card number)
  • -
  • cc-exp:Expiration date of the payment instrument
  • -
  • cc-exp-month
  • -
  • cc-exp-year
  • -
  • cc-csc:Security code for the payment instrument
  • -
  • cc-type:Type of payment instrument (e.g. Visa)
  • -
  • transaction-currency
  • -
  • transaction-amount
  • -
  • language:Preferred language; Valid BCP 47 language tag
  • -
  • bday
  • -
  • bday-day
  • -
  • bday-month
  • -
  • bday-year
  • -
  • sex:Gender identity (e.g. Female, Fa'afafine); Free-form text, no newlines
  • -
  • tel
  • -
  • url:Home page or other Web page corresponding to the company, person, address, or contact information in the other fields associated with this field
  • -
  • photo:Photograph, icon, or other image corresponding to the company, person, address, or contact information in the other fields associated with this field
  • -
  • -

    参考 WHATWG 标准 获取更多详细内容。

    -
  • -
- -

如果 <input> 元素上没有 autocomplete 属性,浏览器可使用包含该 input 元素的表单(<form>)或通过 input 的 form 属性指定的表单的 autocomplete 属性值。更多信息请参见 {{ HTMLElement("form") }} 的 autocomplete 属性。

- -

与其他浏览器不同,autocomplete 还控制着 Firefox 浏览器对 <input> 持久化动态禁用状态和(如果适用)跨页面加载的动态检查。持久化特性默认是开启的。设置 autocomplete 的值为 off 可以关闭该特性。即使 autocomplete 属性通常不应用于 <input> 的 type,它也可以工作。具体可以查看 {{bug(654072)}}。

-
-
{{ htmlattrdef("autofocus") }}
-
这个布尔属性允许您指定的表单控件在页面加载时具有焦点(自动获得焦点),除非用户将其覆盖,例如通过键入不同的控件。文档中只有一个表单元素可以具有 autofocus 属性,它是一个布尔值。 如果 type 属性设置为隐藏则不能应用(即您不能自动获得焦点的属性设置为隐藏的控件)。
-
{{htmlattrdef("capture")}}
-
-

Introduced in the HTML Media Capture specification and valid for the file input type only, the capture attribute defines which media—microphone, video, or camera—should be used to capture a new file for upload with file upload control in supporting scenarios. See the {{HTMLElement("input/file", "file")}} input type.

-
-
{{ htmlattrdef("checked") }}
-
如果该元素的 type 属性的值为 radio 或者 checkbox,则该布尔属性的存在与否表明了该控件是否是默认选择状态。 -

If present on a checkbox type, it indicates that the checkbox is checked by default (when the page loads). It does not indicate whether this checkbox is currently checked: if the checkbox’s state is changed, this content attribute does not reflect the change. (Only the HTMLInputElement’s checked IDL attribute is updated.)

- -
-

Note: Unlike other input controls, a checkboxes and radio buttons value are only included in the submitted data if they are currently checked. If they are, the name and the value(s) of the checked controls are submitted.

- -

For example, if a checkbox whose name is fruit has a value of cherry, and the checkbox is checked, the form data submitted will include fruit=cherry. If the checkbox isn't active, it isn't listed in the form data at all. The default value for checkboxes and radio buttons is on.

-
-
-
{{htmlattrdef("dirname")}}
-
-

Valid for text and search input types only, the dirname attribute enables the submission of the directionality of the element. When included, the form control will submit with two name/value pairs: the first being the name and value, the second being the value of the dirname as the name with the value of ltr or rtl being set by the browser.

- -
<form action="page.html" method="post">
-  <label>Fruit: <input type="text" name="fruit" dirname="fruit.dir" value="cherry"></label>
-  <input type="submit"/>
-</form>
-<!-- page.html?fruit=cherry&fruit.dir=ltr -->
-
- -

When the form above is submitted, the input cause both the name / value pair of fruit=cherry and the dirname / direction pair of fruit.dir=ltr to be sent.

-
-
{{ htmlattrdef("disabled") }}
-
这个布尔属性表示此表单控件不可用。 特别是在禁用的控件中, click 事件 将不会被分发 。 并且,禁用的控件的值在提交表单时也不会被提交。如果 type 属性为 hidden,此属性将被忽略。
-
- -
Note: Although not required by the specification, Firefox will by default persist the dynamic disabled state of an <input> across page loads. Use the {{htmlattrxref("autocomplete","input")}} attribute to control this feature.
- -
-
{{ htmlattrdef("form") }}
-
-

A string specifying the {{HTMLElement("form")}} element with which the input is associated (that is, its form owner). This string's value, if present, must match the {{htmlattrxref("id")}} of a <form> element in the same document. If this attribute isn't specified, the <input> element is associated with the nearest containing form, if any.

- -

The form attribute lets you place an input anywhere in the document but have it included with a form elsewhere in the document.

- -

Note: An input can only be associated with one form.

-
-
{{htmlattrdef('formaction')}}
-
-

Valid for the image and submit input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information.

-
-
{{htmlattrdef('formenctype')}}
-
-

Valid for the image and submit input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information.

-
-
{{htmlattrdef('formmethod')}}
-
-

Valid for the image and submit input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information.

-
-
{{htmlattrdef('formnovalidate')}}
-
-

Valid for the image and submit input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information.

-
-
{{htmlattrdef('formtarget')}}
-
-

Valid for the image and submit input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information.

-
-
{{ htmlattrdef("height") }}
-
如果 type 属性的值是 image,这个属性定义了按钮图片的高度。
-
{{htmlattrdef("id")}}
-
-

Global attribute valid for all elements, including all the input types, it defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking. The value is used as the value of the {{htmlelement('label')}}'s for attribute to link the label with the form control. See the the label element below.

-
-
{{htmlattrdef("inputmode")}}
-
-

Global value valid for all elements, it provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Values include none
- text, tel, url, email, numeric, decimal, and search.

-
-
{{htmlattrdef("list")}}
-
-

The values of the list attribute is the {{domxref("Element.id", "id")}} of a {{HTMLElement("datalist")}} element located in the same document. The <datalist> provides a list of predefined values to suggest to the user for this input. Any values in the list that are not compatible with the {{htmlattrxref("type", "input")}} are not included in the suggested options. The values provided are suggestions, not requirements: users can select from this predefined list or provide a different value.

-
-
- - -
-<datalist id="colorsxx">
-  <option>#ff0000</option>
-  <option>#ee0000</option>
-  <option>#dd0000</option>
-  <option>#cc0000</option>
-  <option>#bb0000</option>
-</datalist>
-<datalist id="numbersxx">
-  <option>0</option>
-  <option>2</option>
-  <option>4</option>
-  <option>8</option>
-  <option>16</option>
-  <option>32</option>
-  <option>64</option>
-</datalist>
-<datalist id="fruitsxx">
-  <option>cherry</option>
-  <option>banana</option>
-  <option>mango</option>
-  <option>orange</option>
-  <option>blueberry</option>
-</datalist>
-<datalist id="urlsxx">
-  <option>https://developer.mozilla.org</option>
-  <option>https://caniuse.com/</option>
-  <option>https://mozilla.com</option>
-  <option>https://mdn.github.io</option>
-  <option>https://www.youtube.com/user/firefoxchannel</option>
-</datalist>
-
-<p>
-  <label for="textx">Text</label>
-  <input type="text" list="fruitsxx" id="textx"/>
-</p>
-<p>
-  <label for="colorx">Color</label>
-  <input type="color" list="colorsxx" id="colorx"/>
-</p>
-<p>
-  <label for="rangex">Range</label>
-  <input type="range" min="0" max="64" list="numbersxx" id="rangex"/>
-</p>
-<p>
-  <label for="numberx">Number</label>
-  <input type="number" min="0" max="64" list="numbersxx" id="numberx"/>
-</p>
-<p>
-  <label for="urlx">URL</label>
-  <input type="url" list="urlsxx" id="urlx"/>
-</p>
-
- -

{{EmbedLiveSample("datalist",400,275,"","", "nobutton")}}

- -

It is valid on text, search, url, tel, email, date, month, week, time, datetime-local, number, range, and color.

- -

Per the specifications, the list attribute is not supported by the hidden, password, checkbox, radio, file, or any of the button types.

- -

Depending on the browser, the user may see a custom color palette suggested, tic marks along a range, or even a input that opens like a select but allows for non-listed values. Check out the browser compatibility table for the other input types.

- -

See the {{htmlelement('datalist')}} element.

- -
-
{{ htmlattrdef("max") }}
-
此项目的最大(数字或日期时间)值,且不得小于其最小值(min 属性值)。
-
{{ htmlattrdef("maxlength") }}
-
如果 type 的值是 text、email、search、password、tel 或 url,那么这个属性指明了用户最多可以输入的字符个数(按照 Unicode 编码方式计数);对于其他类型的输入框,该属性被忽略。它可以大于 size 属性的值。如果不指定这个属性,那么用户可以输入任意多的字符。如果指定为一个负值,那么元素表现出默认行为,即用户可以输入任意多的字符。本属性的约束规则,仅在元素的 value 属性发生变化时才会执行。译者注:ie10+
-
{{ htmlattrdef("min") }}
-
此项目的最小(数字或日期时间)值,且不得大于其最大值(max 属性值)。
-
{{htmlattrdef("minlength")}}
-
-

Valid for text, search, url, tel, email, and password, it defines the minimum number of characters (as UTF-16 code units) the user can enter into the entry field. This must be an non-negative integer value smaller than or equal to the value specified by maxlength. If no minlength is specified, or an invalid value is specified, the input has no minimum length.

- -

The input will fail constraint validation if the length of the text entered into the field is fewer than minlength UTF-16 code units long, preventing form submission. See Client-side validation for more information.

-
-
{{ htmlattrdef("multiple") }}
-
这个 Boolean 属性指明了用户能否输入多个值,仅在 type 属性为 email 或 file 时生效,否则将被忽略。
-
{{ htmlattrdef("name") }}
-
控件的名称,与表单数据一起提交。
-
{{ htmlattrdef("pattern") }}
-
检查控件值的正则表达式。pattern 必须匹配整个值,而不仅仅是某些子集。使用 title 属性来描述帮助用户的模式。仅在 type 属性的值为 text、search、tel、url 或 email 时生效,否则将被忽略。译者注:ie10+
-
{{ htmlattrdef("placeholder") }}
-
提示用户输入框的作用。用于提示的占位符文本不能包含回车或换行。仅在 type 属性为 text、search、tel、url 或 email 时生效,否则将被忽略。 -

备注:请不要用 placeholder 属性替换 {{ HTMLElement("label") }} 元素。他们的作用不同: {{ HTMLElement("label") }} 属性描述表单元素的角色; 也就是说,它展示预期的信息,而 placeholder 属性是提示用户内容的输入格式。某些情况下 placeholder 属性对用户不可见,所以当没有它时也需要保证 form 能被理解。

-
-
{{ htmlattrdef("readonly") }}
-
这个布尔属性用于指明用户无法修改控件的值。 -

如果控件的 type 属性为 hidden、range、color、checkbox、radio、file,此属性将被忽略。

-
-
{{ htmlattrdef("required") }}
-
这个属性指定用户在提交表单之前必须为该元素填充值。当 type 属性是 hidden、image 或者按钮类型(submit、reset、button)时不可使用。 {{ cssxref(":optional") }} 和 {{ cssxref(":required") }} CSS 伪元素的样式将可以被该字段应用作外观。
-
{{ htmlattrdef("selectionDirection") }}
-
The direction in which selection occurred. This is "forward" if the selection was made from left-to-right in an LTR locale or right-to-left in an RTL locale, or "backward" if the selection was made in the opposite direction. This can be "none" if the selection direction is unknown.
-
{{ htmlattrdef("size") }}
-
控件的初始大小。以像素为单位。但当 type 属性为 text 或 password 时,它表示输入的字符的长度。从 HTML5 开始,此属性仅在 type 属性为 text、search、tel、url、email 或 password 时生效,否则将被忽略。此外,它的值必须大于 0。如果未指定大小,则使用默认值 20。HTML5 概述 "用户代理应该确保至少大部分字符是可见的",但是不同的字符的用不同的字体表示可能会导致宽度不同。在某些浏览器中,一串带有 x 的字符即使定义了到 x 的大小也将显示不完整。
-
{{ htmlattrdef("spellcheck") }}
-
将此属性的值设置为 true 表示元素需要检查其拼写和语法。值为 default 表示该元素将根据默认行为进行操作,可能基于父元素自己的 spellcheck 值。值为 false 表示不应该检查元素
-
{{ htmlattrdef("src") }}
-
如果 type 属性的值是 image,这个属性指定了按钮图片的路径; 否则将被忽视。
-
{{ htmlattrdef("step") }}
-
使用 minmax 属性来限制可以设置数字或日期时间值的增量。它可以是任意字符串或是正浮点数。如果此属性未设置为任何,则控件仅接受大于最小步长值的倍数的值。
-
{{ htmlattrdef("tabindex") }}
-
元素在当前文档的 Tab 导航顺序中的位置。
-
{{htmlattrdef('title')}}
-
-

Global attribute valid for all elements, including all input types, containing a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip. The title should NOT be used as the primary explanation of the purpose of the form control. Instead, use the {{htmlelement('label')}} element with a for attribute set to the form control's {{htmlattrdef('id')}} attribute. See Labels below.

-
-
{{ htmlattrdef("type") }}
-
要呈现的控件类型。有关各个类型的信息,请参阅 Form <input> types,其中包含指向每个类型的更多信息的链接。
-
{{ htmlattrdef("usemap") }} {{Deprecated_Inline}}
-
作为图像映射的 {{ HTMLElement("map") }} 元素的名称。
-
{{ htmlattrdef("value") }}
-
控件的初始值。此属性是可选的,除非 type 属性是 radiocheckbox。注意,当重新加载页面时,如果在重新加载之前更改了值,Gecko 和 IE 将忽略 HTML 源代码中指定的值
-
{{ htmlattrdef("width") }}
-
如果 type 属性的值是 image,这个属性定义了按钮图片的宽度。
-
-

非标准 <input> 属性

-
-
{{htmlattrdef("autocorrect")}} {{non-standard_inline}}
-
This is a non-standard attribute supported by Safari that is used to control whether autocorrection should be enabled when the user is entering/editing the text value of the <input>. Possible attribute values are: -
    -
  • on:Enable autocorrection.
  • -
  • off:Disable autocorrection.
  • -
- autocorrect documentation in the Safari HTML Reference.
-
{{ htmlattrdef("mozactionhint") }} {{ non-standard_inline() }}
-
Specifies an "action hint" used to determine how to label the enter key on mobile devices with virtual keyboards. Supported values are go, done, next, search, and send; these automatically get mapped to the appropriate string (and are case-insensitive).
-
{{htmlattrdef("autocapitalize")}} {{non-standard_inline}}
-
This is a nonstandard attribute used by iOS Safari Mobile which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user. The non-deprecated values are available in iOS 5 and later. Possible values are: -
    -
  • none:Completely disables automatic capitalization
  • -
  • sentences:Automatically capitalize the first letter of sentences.
  • -
  • words:Automatically capitalize the first letter of words.
  • -
  • characters:Automatically capitalize all characters.
  • -
  • on:{{deprecated_inline()}} Deprecated since iOS 5.
  • -
  • off:{{deprecated_inline()}} Deprecated since iOS 5.
  • -
- autocapitalize documentation in the Safari HTML Reference
-
{{htmlattrdef("incremental")}} {{non-standard_inline}}
-
This is a nonstandard attribute supported by WebKit (Safari) and Blink (Chrome) that only applies when the type is search. If the attribute is present, regardless of what its value is, the <input> fires search events as the user edits the text value. The event is only fired after an implementation-defined timeout has elapsed since the most recent keystroke, and new keystrokes reset the timeout. In other words, the event firing is debounced. If the attribute is absent, the search event is only fired when the user explicitly initiates a search (e.g. by pressing the Enter key while within field). incremental documentation in the Safari HTML Reference
-
{{htmlattrdef("mozactionhint")}} {{non-standard_inline}}
-
Specifies an "action hint" used to determine how to label the enter key on mobile devices with virtual keyboards. Supported values are go, done, next, search, and send. These automatically get mapped to the appropriate string and are case-insensitive.
-
{{htmlattrdef("results")}} {{non-standard_inline}}
-
This is a nonstandard attribute supported by Safari that only applies when the type is search. It is used to control the maximum number of entries that should be displayed in the <input>'s native dropdown list of past search queries. Its value should be a nonnegative decimal integer.
-
{{htmlattrdef("webkitdirectory")}} {{non-standard_inline}}
-
This Boolean attribute indicates if the selector used when the type attribute is filehas to allow for the selection of directories only.
-
{{htmlattrdef("x-moz-errormessage")}} {{non-standard_inline}}
-
This Mozilla extension allows you to specify the error message to display when a field doesn't successfully validate.
-
- -

Methods

- -

The following methods are provided by the HTMLInputElement interface which represents <input> elements in the DOM. Also available are those methods specified by the parent interfaces, HTMLElement, Element, Node, and EventTarget.

- -
-
checkValidity()
-
Immediately runs the validity check on the element, triggering the document to fire the invalid event at the element if the value isn't valid.
-
reportValidity()
-
Returns true if the element's value passes validity checks; otherwise, returns false.
-
select()
-
Selects the entire content of the <input> element, if the element's content is selectable. For elements with no selectable text content (such as a visual color picker or calendar date input), this method does nothing.
-
setCustomValidity()
-
Sets a custom message to display if the input element's value isn't valid.
-
setRangeText()
-
Sets the contents of the specified range of characters in the input element to a given string. A selectMode parameter is available to allow controlling how the existing content is affected.
-
setSelectionRange()
-
Selects the specified range of characters within a textual input element. Does nothing for inputs which aren't presented as text input fields.
-
stepDown()
-
Decrements the value of a numeric input by one, by default, or by the specified number of units.
-
stepUp()
-
Increments the value of a numeric input by one or by the specified number of units.
-
- -

CSS

- -

Inputs, being replaced elements, have a few features not applicable to non form elements. There are CSS selectors that can specification target form controls based on their UI features, also known as UI pseudo-classes. The input element can also be targeted by type with attribute selectors. There are some properties that are especially useful as well.

- -

UI pseudo-classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Captions super relevant to the <input> element:
Pseudo-classDescription
:enabledAny currently enabled element that can be activated (selected, clicked on, typed into, etc.) or accept focus and also has a disabled state, in which it can't be activated or accept focus.
:disabledAny currently disabled element that has an enabled state, meaing it otherwise could be activated (selected, clicked on, typed into, etc.) or accept focus were it not disabled.
:read-onlyElement not editable by the user
:read-writeElement that is editable by the user.
:placeholder-shownElement that is currently displaying placeholder text, including input elements with the placeholder attribute present that has, as of yet, no value.
:defaultForm elements that are the default in a group of related elements. Matches checkbox and radio input types that were checked on page load or render.
:checkedMatches checkbox and radio input types that are currently checked (and the (<option> in a <select> that is currently selected).
:indeterminatecheckbox elements whose indeterminate property is set to true by JavaScript, radio elements, when all radio buttons with the same name value in the form are unchecked, and <progress> elements in an indeterminate state
:validForm controls that can have constraint validation applied and are currently valid.
:invalidForm controls that have constraint validation applied and are currently not valid. Matches a form control whose value doesn't match the constraints set on it by it's attributes, such as required, pattern , step and max.
:in-rangeA non-empty input whose current value is within the range limits specified by the min and max attributes and the step .
:out-of-rangeA non-empty input whose current value is NOT within the range limits specified by the min and max attributes or does not adher to the step constraint.
:placeholder-shownAn <input> or <textarea> element that is currently displaying placeholder text.
:required<input>, <select>, or <textarea> element that has the required attribute set on it. Only matches elements that can be required. The attribute included on a non-requirable element will not make for a match.
:optional<input>, <select>, or <textarea> element that does NOT have the required attribute set on it. Does not match elements that can't be required.
:blank<input> and <textarea> elements that currently have no value.
:user-invalidSimilar to :invalid, but is activated on blur. Matches invalid input but only after the user interaction, such as by focusing on the control, leaving the control, or attempting to submit the form containing the invalid control.
-
-

Examples

- -

We can style a checkbox label based on whether the checkbox is checked or not. In this example, we are styling the color and font-weight of the <label> that comes immediately after a checked input. We haven't applied any styles if the input is not checked.

- - - -
input:checked + label {
+## 属性
+
+`` 元素由于拥有诸多属性而异常强大,其中前文举例说明的 {{htmlattrxref("type", "input")}} 属性尤其重要。由于所有 `` 元素,无论是哪种 `type`,都基于 {{domxref("HTMLInputElement")}} 接口,所以理论上说,它们共享一套相同的属性。但实际上大部分属性只作用于特定一组 `type`。此外,一些属性作用于 `` 的方式取决于 `` 的 `type` 属性,不同的 `type` 有不同的效果。
+
+下面的表格列出了所有属性,每个属性都有简短的描述。表格后的列表更详细地描述了各个属性及它们与哪些 `` `type` 相关。与大部分或者全部 `` `type` 都相关的属性会讲述更多细节。一些针对特定 `` `type` 的属性,或者所有 `` `type` 都有,但在特定的 `` `type` 上有特定表现的属性,会在相应的 `type` 页面中说明。这个元素包含全局属性,一些针对 `` 元素有额外意义的全局属性也会特别说明。
+
+一些额外的非标准属性会在标准属性后面列出。
+
+### 属性各论
+
+- {{ htmlattrdef("accept") }}
+  - : 如果该元素的 **type** 属性的值是 `file`,则该属性表明了服务器端可接受的文件类型;否则它将被忽略。该属性的值必须为一个逗号分割的列表,包含了多个唯一的内容类型声明:
+
+    - 以 STOP 字符 (U+002E) 开始的文件扩展名。(例如:".jpg,.png,.doc")
+    - 一个有效的 MIME 类型,但没有扩展名
+    - `audio/*` 表示音频文件
+    - `video/*` 表示视频文件
+    - `image/*` 表示图片文件
+- {{ htmlattrdef("accesskey") }} {{Deprecated_Inline}}
+  - : 用户按下后可以获得此控件焦点的单个字符。这是 HTML5 全局属性。
+- {{ htmlattrdef("autocomplete") }}
+  - : 这个属性表示这个控件的值是否可被浏览器自动填充。如果 **type** 属性的值是 hidden、checkbox、radio、file,或为按钮类型(button、submit、reset、image),则本属性被忽略。可用的值是:
+
+    - `off`:用户必须手动填值,或者该页面提供了自己的自动补全方法。浏览器不对此字段自动填充。
+    - `on`:浏览器可以根据用户先前的填表情况对此字段自动填值。
+    - `name`:完整的姓名
+    - `honorific-prefix`:Prefix or title (e.g. "Mr.", "Ms.", "Dr.", "Mlle")
+    - `given-name`:名
+    - `additional-name`
+    - `family-name`:姓
+    - `honorific-suffix`:Suffix (e.g. "Jr.", "B.Sc.", "MBASW", "II")
+    - `nickname`
+    - `email`
+    - `username`
+    - `new-password`:新密码(如创建帐号或更改密码时使用)
+    - `current-password`
+    - `organization-title`:Job title (e.g. "Software Engineer", "Senior Vice President", "Deputy Managing Director")
+    - `organization`
+    - `street-address`
+    - `address-line1`、`address-line2`、`address-line3`、`address-level4`、`address-level3`、`address-level2`、`address-level1`
+    - `country`
+    - `country-name`
+    - `postal-code`
+    - `cc-name`:Full name as given on the payment instrument
+    - `cc-given-name`
+    - `cc-additional-name`
+    - `cc-family-name`
+    - `cc-number`:Code identifying the payment instrument (e.g. the credit card number)
+    - `cc-exp`:Expiration date of the payment instrument
+    - `cc-exp-month`
+    - `cc-exp-year`
+    - `cc-csc`:Security code for the payment instrument
+    - `cc-type`:Type of payment instrument (e.g. Visa)
+    - `transaction-currency`
+    - `transaction-amount`
+    - `language`:Preferred language; Valid BCP 47 language tag
+    - `bday`
+    - `bday-day`
+    - `bday-month`
+    - `bday-year`
+    - `sex`:Gender identity (e.g. Female, Fa'afafine); Free-form text, no newlines
+    - `tel`
+    - `url`:Home page or other Web page corresponding to the company, person, address, or contact information in the other fields associated with this field
+    - `photo`:Photograph, icon, or other image corresponding to the company, person, address, or contact information in the other fields associated with this field
+    - 参考 [WHATWG 标准](https://html.spec.whatwg.org/multipage/forms.html#autofill) 获取更多详细内容。如果 `` 元素上没有 **autocomplete** 属性,浏览器可使用包含该 input 元素的表单(`
`)或通过 input 的 **form** 属性指定的表单的 **autocomplete** 属性值。更多信息请参见 {{ HTMLElement("form") }} 的 `autocomplete` 属性。与其他浏览器不同,**autocomplete** 还控制着 Firefox 浏览器对 \ 持久化动态禁用状态和(如果适用)跨页面加载的动态检查。持久化特性默认是开启的。设置 **autocomplete** 的值为 **off** 可以关闭该特性。即使 autocomplete 属性通常不应用于 \ 的 type,它也可以工作。具体可以查看 {{bug(654072)}}。 +- {{ htmlattrdef("autofocus") }} + - : 这个布尔属性允许您指定的表单控件在页面加载时具有焦点(自动获得焦点),除非用户将其覆盖,例如通过键入不同的控件。文档中只有一个表单元素可以具有 autofocus 属性,它是一个布尔值。 如果 type 属性设置为隐藏则不能应用(即您不能自动获得焦点的属性设置为隐藏的控件)。 +- {{htmlattrdef("capture")}} + - : Introduced in the HTML Media Capture specification and valid for the `file` input type only, the `capture` attribute defines which media—microphone, video, or camera—should be used to capture a new file for upload with `file` upload control in supporting scenarios. See the {{HTMLElement("input/file", "file")}} input type. +- {{ htmlattrdef("checked") }} + - : 如果该元素的 **type** 属性的值为 radio 或者 checkbox,则该布尔属性的存在与否表明了该控件是否是默认选择状态。If present on a `checkbox` type, it indicates that the checkbox is checked by default (when the page loads). It does _not_ indicate whether this checkbox is currently checked: if the checkbox’s state is changed, this content attribute does not reflect the change. (Only the [`HTMLInputElement`’s `checked` IDL attribute](/zh-CN/docs/Web/API/HTMLInputElement) is updated.) + + > **备注:** Unlike other input controls, a checkboxes and radio buttons value are only included in the submitted data if they are currently `checked`. If they are, the name and the value(s) of the checked controls are submitted.For example, if a checkbox whose `name` is `fruit` has a `value` of `cherry`, and the checkbox is checked, the form data submitted will include `fruit=cherry`. If the checkbox isn't active, it isn't listed in the form data at all. The default `value` for checkboxes and radio buttons is `on`. +- {{htmlattrdef("dirname")}} + - : Valid for `text` and `search` input types only, the `dirname` attribute enables the submission of the directionality of the element. When included, the form control will submit with two name/value pairs: the first being the [name](#attr-name) and [value](#attr-value), the second being the value of the `dirname` as the name with the value of `ltr` or `rtl` being set by the browser.```plain + + + +
+ + ```When the form above is submitted, the input cause both the `name` / `value` pair of `fruit=cherry` and the `dirname` / direction pair of `fruit.dir=ltr` to be sent. +- {{ htmlattrdef("disabled") }} + - : 这个布尔属性表示此表单控件不可用。 特别是在禁用的控件中, `click` 事件 [将不会被分发](http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#enabling-and-disabling-form-controls) 。 并且,禁用的控件的值在提交表单时也不会被提交。如果 **type** 属性为 hidden,此属性将被忽略。 + +> **备注:** Although not required by the specification, Firefox will by default [persist the dynamic disabled state](https://stackoverflow.com/questions/5985839/bug-with-firefox-disabled-attribute-of-input-not-resetting-when-refreshing) of an `` across page loads. Use the {{htmlattrxref("autocomplete","input")}} attribute to control this feature. + +- {{ htmlattrdef("form") }} + - : A string specifying the {{HTMLElement("form")}} element with which the input is associated (that is, its **form owner**). This string's value, if present, must match the {{htmlattrxref("id")}} of a `
` element in the same document. If this attribute isn't specified, the `` element is associated with the nearest containing form, if any.The `form` attribute lets you place an input anywhere in the document but have it included with a form elsewhere in the document.Note: An input can only be associated with one form. +- {{htmlattrdef('formaction')}} + - : Valid for the `image` and `submit` input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information. +- {{htmlattrdef('formenctype')}} + - : Valid for the `image` and `submit` input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information. +- {{htmlattrdef('formmethod')}} + - : Valid for the `image` and `submit` input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information. +- {{htmlattrdef('formnovalidate')}} + - : Valid for the `image` and `submit` input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information. +- {{htmlattrdef('formtarget')}} + - : Valid for the `image` and `submit` input types only. See the {{HTMLElement("input/submit", "submit")}} input type for more information. +- {{ htmlattrdef("height") }} + - : 如果 **type** 属性的值是 image,这个属性定义了按钮图片的高度。 +- {{htmlattrdef("id")}} + - : Global attribute valid for all elements, including all the input types, it defines a unique identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking. The value is used as the value of the {{htmlelement('label')}}'s `for` attribute to link the label with the form control. See the [the label element](#labels) below. +- {{htmlattrdef("inputmode")}} + - : Global value valid for all elements, it provides a hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents. Values include none + `text`, `tel`, `url`, `email`, `numeric`, `decimal`, and `search`. +- {{htmlattrdef("list")}} + - : The values of the list attribute is the {{domxref("Element.id", "id")}} of a {{HTMLElement("datalist")}} element located in the same document. The `` provides a list of predefined values to suggest to the user for this input. Any values in the list that are not compatible with the {{htmlattrxref("type", "input")}} are not included in the suggested options. The values provided are suggestions, not requirements: users can select from this predefined list or provide a different value. + +```html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + +

+

+ + +

+

+ + +

+

+ + +

+

+ + +

+``` + +{{EmbedLiveSample("datalist",400,275,"","", "nobutton")}} + +It is valid on `text`, `search`, `url`, `tel`, `email`, `date`, `month`, `week`, `time`, `datetime-local`, `number`, `range`, and `color`. + +Per the specifications, the `list` attribute is not supported by the `hidden`, `password`, `checkbox`, `radio`, `file`, or any of the button types. + +Depending on the browser, the user may see a custom color palette suggested, tic marks along a range, or even a input that opens like a select but allows for non-listed values. Check out the [browser compatibility table](/zh-CN/docs/Web/HTML/Element/datalist#Browser_compatibility) for the other input types. + +See the {{htmlelement('datalist')}} element. + +- {{ htmlattrdef("max") }} + - : 此项目的最大(数字或日期时间)值,且不得小于其最小值(**min** 属性值)。 +- {{ htmlattrdef("maxlength") }} + - : 如果 **type** 的值是 text、email、search、password、tel 或 url,那么这个属性指明了用户最多可以输入的字符个数(按照 Unicode 编码方式计数);对于其他类型的输入框,该属性被忽略。它可以大于 **size** 属性的值。如果不指定这个属性,那么用户可以输入任意多的字符。如果指定为一个负值,那么元素表现出默认行为,即用户可以输入任意多的字符。本属性的约束规则,仅在元素的 value 属性发生变化时才会执行。译者注:ie10+ +- {{ htmlattrdef("min") }} + - : 此项目的最小(数字或日期时间)值,且不得大于其最大值(**max** 属性值)。 +- {{htmlattrdef("minlength")}} + - : Valid for `text`, `search`, `url`, `tel`, `email`, and `password`, it defines the minimum number of characters (as UTF-16 code units) the user can enter into the entry field. This must be an non-negative integer value smaller than or equal to the value specified by `maxlength`. If no `minlength` is specified, or an invalid value is specified, the input has no minimum length.The input will fail [constraint validation](/zh-CN/docs/Web/Guide/HTML/HTML5/Constraint_validation) if the length of the text entered into the field is fewer than `minlength` UTF-16 code units long, preventing form submission. See [Client-side validation](#client-side_validation) for more information. +- {{ htmlattrdef("multiple") }} + - : 这个 **Boolean** 属性指明了用户能否输入多个值,仅在 **type** 属性为 email 或 file 时生效,否则将被忽略。 +- {{ htmlattrdef("name") }} + - : 控件的名称,与表单数据一起提交。 +- {{ htmlattrdef("pattern") }} + - : 检查控件值的正则表达式。pattern 必须匹配整个值,而不仅仅是某些子集。使用 title 属性来描述帮助用户的模式。仅在 **type** 属性的值为 text、search、tel、url 或 email 时生效,否则将被忽略。译者注:ie10+ +- {{ htmlattrdef("placeholder") }} + - : 提示用户输入框的作用。用于提示的占位符文本不能包含回车或换行。仅在 **type** 属性为 text、search、tel、url 或 email 时生效,否则将被忽略。 + + > **备注:** 请不要用 `placeholder` 属性替换 {{ HTMLElement("label") }} 元素。他们的作用不同: {{ HTMLElement("label") }} 属性描述表单元素的角色; 也就是说,它展示预期的信息,而 `placeholder` 属性是提示用户内容的输入格式。某些情况下 `placeholder` 属性对用户不可见,所以当没有它时也需要保证 form 能被理解。 +- {{ htmlattrdef("readonly") }} + - : 这个布尔属性用于指明用户无法修改控件的值。如果控件的 **type** 属性为 hidden、range、color、checkbox、radio、file,此属性将被忽略。 +- {{ htmlattrdef("required") }} + - : 这个属性指定用户在提交表单之前必须为该元素填充值。当 type 属性是 hidden、image 或者按钮类型(submit、reset、button)时不可使用。 {{ cssxref(":optional") }} 和 {{ cssxref(":required") }} CSS 伪元素的样式将可以被该字段应用作外观。 +- {{ htmlattrdef("selectionDirection") }} + - : The direction in which selection occurred. This is "forward" if the selection was made from left-to-right in an LTR locale or right-to-left in an RTL locale, or "backward" if the selection was made in the opposite direction. This can be "none" if the selection direction is unknown. +- {{ htmlattrdef("size") }} + - : 控件的初始大小。以像素为单位。但当 **type** 属性为 text 或 password 时,它表示输入的字符的长度。从 HTML5 开始,此属性仅在 **type** 属性为 text、search、tel、url、email 或 password 时生效,否则将被忽略。此外,它的值必须大于 0。如果未指定大小,则使用默认值 20。HTML5 概述 "用户代理应该确保至少大部分字符是可见的",但是不同的字符的用不同的字体表示可能会导致宽度不同。在某些浏览器中,一串带有 x 的字符即使定义了到 x 的大小也将显示不完整。 +- {{ htmlattrdef("spellcheck") }} + - : 将此属性的值设置为 `true` 表示元素需要检查其拼写和语法。值为 `default` 表示该元素将根据默认行为进行操作,可能基于父元素自己的 `spellcheck` 值。值为 `false` 表示不应该检查元素 +- {{ htmlattrdef("src") }} + - : 如果 **type** 属性的值是 image,这个属性指定了按钮图片的路径; 否则将被忽视。 +- {{ htmlattrdef("step") }} + - : 使用 **min** 和 **max** 属性来限制可以设置数字或日期时间值的增量。它可以是任意字符串或是正浮点数。如果此属性未设置为任何,则控件仅接受大于最小步长值的倍数的值。 +- {{ htmlattrdef("tabindex") }} + - : 元素在当前文档的 Tab 导航顺序中的位置。 +- {{htmlattrdef('title')}} + - : Global attribute valid for all elements, including all input types, containing a text representing advisory information related to the element it belongs to. Such information can typically, but not necessarily, be presented to the user as a tooltip. The title should NOT be used as the primary explanation of the purpose of the form control. Instead, use the {{htmlelement('label')}} element with a `for` attribute set to the form control's {{htmlattrdef('id')}} attribute. See [Labels](#labels) below. +- {{ htmlattrdef("type") }} + - : 要呈现的控件类型。有关各个类型的信息,请参阅 [Form \ types](#_types),其中包含指向每个类型的更多信息的链接。 +- {{ htmlattrdef("usemap") }} {{Deprecated_Inline}} + - : 作为图像映射的 {{ HTMLElement("map") }} 元素的名称。 +- {{ htmlattrdef("value") }} + - : 控件的初始值。此属性是可选的,除非 **type** 属性是 `radio` 或 `checkbox`。注意,当重新加载页面时,如果在重新加载之前更改了值,[Gecko 和 IE 将忽略 HTML 源代码中指定的值](https://bugzilla.mozilla.org/show_bug.cgi?id=46845#c186)。 +- {{ htmlattrdef("width") }} + - : 如果 **type** 属性的值是 image,这个属性定义了按钮图片的宽度。 +- ### 非标准 `` 属性 + + {{htmlattrdef("autocorrect")}} {{non-standard_inline}} + + - : This is a non-standard attribute supported by Safari that is used to control whether autocorrection should be enabled when the user is entering/editing the text value of the ``. Possible attribute values are: + + - `on`:Enable autocorrection. + - `off`:Disable autocorrection.[`autocorrect` documentation](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/doc/uid/TP40008058-autocorrect) in the Safari HTML Reference. + +- {{ htmlattrdef("mozactionhint") }} {{ non-standard_inline() }} + - : Specifies an "action hint" used to determine how to label the enter key on mobile devices with virtual keyboards. Supported values are `go`, `done`, `next`, `search`, and `send`; these automatically get mapped to the appropriate string (and are case-insensitive). +- {{htmlattrdef("autocapitalize")}} {{non-standard_inline}} + - : This is a nonstandard attribute used by iOS Safari Mobile which controls whether and how the text value should be automatically capitalized as it is entered/edited by the user. The non-deprecated values are available in iOS 5 and later. Possible values are: + + - `none`:Completely disables automatic capitalization + - `sentences`:Automatically capitalize the first letter of sentences. + - `words`:Automatically capitalize the first letter of words. + - `characters`:Automatically capitalize all characters. + - `on`:{{deprecated_inline()}} Deprecated since iOS 5. + - `off`:{{deprecated_inline()}} Deprecated since iOS 5.[`autocapitalize` documentation in the Safari HTML Reference](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/doc/uid/TP40008058-autocapitalize) +- {{htmlattrdef("incremental")}} {{non-standard_inline}} + - : This is a nonstandard attribute supported by WebKit (Safari) and Blink (Chrome) that only applies when the **type** is `search`. If the attribute is present, regardless of what its value is, the `` fires [`search`](/zh-CN/docs/Web/Events/search) events as the user edits the text value. The event is only fired after an implementation-defined timeout has elapsed since the most recent keystroke, and new keystrokes reset the timeout. In other words, the event firing is debounced. If the attribute is absent, the [`search`](/zh-CN/docs/Web/Events/search) event is only fired when the user explicitly initiates a search (e.g. by pressing the Enter key while within field). [`incremental` documentation in the Safari HTML Reference](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/doc/uid/TP40008058-incremental) +- {{htmlattrdef("mozactionhint")}} {{non-standard_inline}} + - : Specifies an "action hint" used to determine how to label the enter key on mobile devices with virtual keyboards. Supported values are `go`, `done`, `next`, `search`, and `send`. These automatically get mapped to the appropriate string and are case-insensitive. +- {{htmlattrdef("results")}} {{non-standard_inline}} + - : This is a nonstandard attribute supported by Safari that only applies when the **type** is `search`. It is used to control the maximum number of entries that should be displayed in the ``'s native dropdown list of past search queries. Its value should be a nonnegative decimal integer. +- {{htmlattrdef("webkitdirectory")}} {{non-standard_inline}} + - : This Boolean attribute indicates if the selector used when the **type** attribute is `file`has to allow for the selection of directories only. +- {{htmlattrdef("x-moz-errormessage")}} {{non-standard_inline}} + - : This Mozilla extension allows you to specify the error message to display when a field doesn't successfully validate. + +## Methods + +The following methods are provided by the [`HTMLInputElement`](/zh-CN/docs/Web/API/HTMLInputElement) interface which represents `` elements in the DOM. Also available are those methods specified by the parent interfaces, [`HTMLElement`](/zh-CN/docs/Web/API/HTMLElement), [`Element`](/zh-CN/docs/Web/API/Element), [`Node`](/zh-CN/docs/Web/API/Node), and [`EventTarget`](/zh-CN/docs/Web/API/EventTarget). + +- [`checkValidity()`](/zh-CN/docs/Web/API/HTMLInputElement/checkValidity) + - : Immediately runs the validity check on the element, triggering the document to fire the [`invalid`](/zh-CN/docs/Web/API/HTMLInputElement/invalid_event) event at the element if the value isn't valid. +- [`reportValidity()`](/zh-CN/docs/Web/API/HTMLFormElement/reportValidity) + - : Returns `true` if the element's value passes validity checks; otherwise, returns `false`. +- [`select()`](/zh-CN/docs/Web/API/HTMLInputElement/select) + - : Selects the entire content of the `` element, if the element's content is selectable. For elements with no selectable text content (such as a visual color picker or calendar date input), this method does nothing. +- [`setCustomValidity()`](/zh-CN/docs/Web/API/HTMLInputElement/setCustomValidity) + - : Sets a custom message to display if the input element's value isn't valid. +- [`setRangeText()`](/zh-CN/docs/Web/API/HTMLInputElement/setRangeText) + - : Sets the contents of the specified range of characters in the input element to a given string. A `selectMode` parameter is available to allow controlling how the existing content is affected. +- [`setSelectionRange()`](/zh-CN/docs/Web/API/HTMLInputElement/setSelectionRange) + - : Selects the specified range of characters within a textual input element. Does nothing for inputs which aren't presented as text input fields. +- [`stepDown()`](/zh-CN/docs/Web/API/HTMLInputElement/stepDown) + - : Decrements the value of a numeric input by one, by default, or by the specified number of units. +- [`stepUp()`](/zh-CN/docs/Web/API/HTMLInputElement/stepUp) + - : Increments the value of a numeric input by one or by the specified number of units. + +## CSS + +Inputs, being replaced elements, have a few features not applicable to non form elements. There are CSS selectors that can specification target form controls based on their UI features, also known as UI pseudo-classes. The input element can also be targeted by type with attribute selectors. There are some properties that are especially useful as well. + +### UI pseudo-classes + +| Pseudo-class | Description | +| -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`:enabled`](/zh-CN/docs/Web/CSS/:enabled) | Any currently enabled element that can be activated (selected, clicked on, typed into, etc.) or accept focus and also has a disabled state, in which it can't be activated or accept focus. | +| [`:disabled`](/zh-CN/docs/Web/CSS/:disabled) | Any currently disabled element that has an enabled state, meaing it otherwise could be activated (selected, clicked on, typed into, etc.) or accept focus were it not disabled. | +| [`:read-only`](/zh-CN/docs/Web/CSS/:read-only) | Element not editable by the user | +| [`:read-write`](/zh-CN/docs/Web/CSS/:read-write) | Element that is editable by the user. | +| [`:placeholder-shown`](/zh-CN/docs/Web/CSS/:placeholder-shown) | Element that is currently displaying [placeholder text](/zh-CN/docs/Web/HTML/Element/input#attr-placeholder), including input elements with the [placeholder](#htmlattrdefplaceholder) attribute present that has, as of yet, no value. | +| [`:default`](/zh-CN/docs/Web/CSS/:default) | Form elements that are the default in a group of related elements. Matches [checkbox](/zh-CN/docs/Web/HTML/Element/input/checkbox) and [radio](/zh-CN/docs/Web/HTML/Element/input/radio) input types that were checked on page load or render. | +| [`:checked`](/zh-CN/docs/Web/CSS/:checked) | Matches [checkbox](/zh-CN/docs/Web/HTML/Element/input/checkbox) and [radio](/zh-CN/docs/Web/HTML/Element/input/radio) input types that are currently checked (and the ([`
` 展示 `123,456` 而不是 `456,123`,当不拆成的两行时候。 -

出于相同原因, <wbr>元素不会在换行的地方引入连字符。为了使连字符仅仅在行尾出现,使用连字符软实体 (&shy;) 来代替。

+出于相同原因, `< wbr >`元素不会在换行的地方引入连字符。为了使连字符仅仅在行尾出现,使用连字符软实体 (`& shy;`) 来代替。 -

这个元素首先在 Internet Explorer 5.5 中实现,并且在 HTML5 中官方定义。

+这个元素首先在 Internet Explorer 5.5 中实现,并且在 HTML5 中官方定义。 -

示例

+## 示例 -

Yahoo 代码规范 推荐 在标点之前为 URL 换行,以便避免将标点符号留在行尾,这会让读者将 URL 的末尾搞错。

+*[Yahoo 代码规范](https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/) *推荐 [在标点之前为 URL 换行](https://web.archive.org/web/20121105171040/http://styleguide.yahoo.com/editing/treat-abbreviations-capitalization-and-titles-consistently/website-names-and-addresses),以便避免将标点符号留在行尾,这会让读者将 URL 的末尾搞错。 -
<p>http://this<wbr>.is<wbr>.a<wbr>.really<wbr>.long<wbr>.example<wbr>.com/With<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages<wbr>/deeper<wbr>/level<wbr>/pages</p>
-
+```html +

http://this.is.a.really.long.example.com/With/deeper/level/pages/deeper/level/pages/deeper/level/pages/deeper/level/pages/deeper/level/pages

+``` -

{{EmbedLiveSample("示例")}}

+{{EmbedLiveSample("示例")}} -

规范

+## 规范 {{Specifications}} -

浏览器兼容性

+## 浏览器兼容性 - - -

{{Compat}}

+{{Compat}} diff --git a/files/zh-cn/web/html/element/xmp/index.md b/files/zh-cn/web/html/element/xmp/index.md index 700b622182c737..c94fb4db39099c 100644 --- a/files/zh-cn/web/html/element/xmp/index.md +++ b/files/zh-cn/web/html/element/xmp/index.md @@ -8,42 +8,33 @@ tags: - 已废弃 translation_of: Web/HTML/Element/xmp --- -
{{HTMLRef}} {{deprecated_header}}
+{{HTMLRef}} {{deprecated_header}} -

概述

+## 概述 -

<xmp> 标签之间的内容不会被当作文档内容解析,而会被用等宽字体直接呈现。HTML2 规范建议,本标签中的内容应该具有足够容纳每行 80 个字母的宽度。

+`` 标签之间的内容不会被当作文档内容解析,而会被用等宽字体直接呈现。HTML2 规范建议,本标签中的内容应该具有足够容纳每行 80 个字母的宽度。 -<div class="note"><strong>提示:</strong>请不要使用这个元素。 +> **备注:** 请不要使用这个元素。 +> +> - 从 HTML3.2 开始反对使用本元素,同时它不再会在之后版本内被推荐使用。在 HTML5 规范内,本元素已经完全被移除。 +> - 建议您使用{{HTMLElement("pre")}} 元素,如果有特殊需求,您可以使用 {{HTMLElement("code")}} 元素。需要您注意的是,使用元素的时候,需要将内容中的"<"转义为"\&lt;",以防止被浏览器当作正常标签解析。 +> - 通过[CSS](/zh-CN/docs/CSS)样式表将 {{cssxref("font-family")}} 属性的值设置成为 generic-font,可以让任何其他任何标签获得等宽字体的样式。 -<ul> - <li>从 HTML3.2 开始反对使用本元素,同时它不再会在之后版本内被推荐使用。在 HTML5 规范内,本元素已经完全被移除。</li> - <li>建议您使用{{HTMLElement("pre")}} 元素,如果有特殊需求,您可以使用 {{HTMLElement("code")}} 元素。需要您注意的是,使用元素的时候,需要将内容中的"&lt;"转义为"&amp;lt;",以防止被浏览器当作正常标签解析。</li> - <li>通过<a href="/en-US/docs/CSS">CSS</a>样式表将 {{cssxref("font-family")}} 属性的值设置成为 generic-font,可以让任何其他任何标签获得等宽字体的样式。</li> -</ul> -</div> +## 属性 -<h2 id="Attributes">属性</h2> +该元素支持[全局属性](/zh-CN/docs/Web/HTML/global_attributes)。 -<p>该元素支持<a href="/en-US/docs/Web/HTML/global_attributes">全局属性</a>。</p> +## DOM 接口 -<h2 id="DOM_interface">DOM 接口</h2> +本元素支持{{domxref('HTMLElement')}} 接口。 -<p>本元素支持{{domxref('HTMLElement')}} 接口。</p> +> **备注:** Gecko 1.9.2 内核及更高版本已经兼容本元素,在火狐浏览器内本元素支持使用{{domxref('HTMLSpanElement')}}接口。 -<div class="note"> -<p><strong>兼容性提示:</strong>Gecko 1.9.2 内核及更高版本已经兼容本元素,在火狐浏览器内本元素支持使用{{domxref('HTMLSpanElement')}}接口。</p> -</div> +## 浏览器兼容性 -<h2 id="浏览器兼容性">浏览器兼容性</h2> +{{Compat("html.elements.xmp")}} +## 参阅 - -<p>{{Compat("html.elements.xmp")}}</p> - -<h2 id="See_also">参阅</h2> - -<ul> - <li> 可以使用{{HTMLElement("pre")}} 和 {{HTMLElement("code")}} 元素来代替本元素。</li> - <li> {{HTMLElement("plaintext")}} 和 {{HTMLElement("listing")}} 元素和{{HTMLElement("xmp")}} 类似,都已被废弃。.</li> -</ul> +- 可以使用{{HTMLElement("pre")}} 和 {{HTMLElement("code")}} 元素来代替本元素。 +- {{HTMLElement("plaintext")}} 和 {{HTMLElement("listing")}} 元素和{{HTMLElement("xmp")}} 类似,都已被废弃。. diff --git a/files/zh-cn/web/html/global_attributes/accesskey/index.md b/files/zh-cn/web/html/global_attributes/accesskey/index.md index 3bfa46e9e4083e..73bbbbcc1df8ef 100644 --- a/files/zh-cn/web/html/global_attributes/accesskey/index.md +++ b/files/zh-cn/web/html/global_attributes/accesskey/index.md @@ -7,94 +7,112 @@ tags: - Reference translation_of: Web/HTML/Global_attributes/accesskey --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong>accesskey</strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 提供了为当前元素生成快捷键的方式。属性值必须包含一个可打印字符。</p> +**accesskey** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 提供了为当前元素生成快捷键的方式。属性值必须包含一个可打印字符。 -<div>{{EmbedInteractiveExample("pages/tabbed/attribute-accesskey.html","tabbed-shorter")}}</div> +{{EmbedInteractiveExample("pages/tabbed/attribute-accesskey.html","tabbed-shorter")}} -<div class="note"> -<p>注意:在 WHATWG 规范中,它说你可以指定多个空格分隔的字符,浏览器将使用它所支持的第一个字符。然而,这在大多数浏览器中是行不通的。在 IE/Edge 中,它将使用它支持的第一个没有问题的,只要没有与其他命令冲突。</p> -</div> +> **备注:** 在 WHATWG 规范中,它说你可以指定多个空格分隔的字符,浏览器将使用它所支持的第一个字符。然而,这在大多数浏览器中是行不通的。在 IE/Edge 中,它将使用它支持的第一个没有问题的,只要没有与其他命令冲突。 -<p>激活 accesskey 的操作取决于浏览器及其平台。</p> +激活 accesskey 的操作取决于浏览器及其平台。 <table class="standard-table"> - <tbody> - <tr> - <th> </th> - <th>Windows</th> - <th>Linux</th> - <th>Mac</th> - </tr> - <tr> - <th>Firefox</th> - <td colspan="2" rowspan="1" style="text-align: center;"><kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd><em>key</em></kbd></td> - <td>On Firefox 57 or newer, <kbd>Control</kbd> + <kbd>Option</kbd> + <kbd><em>key</em></kbd> -OR- <kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd><br> - On Firefox 14 or newer, <kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd><br> - On Firefox 13 or older, <kbd>Control</kbd> + <kbd><em>key</em></kbd></td> - </tr> - <tr> - <th>Internet Explorer</th> - <td><kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - <td colspan="2" rowspan="1">N/A</td> - </tr> - <tr> - <th>Google Chrome</th> - <td colspan="2" rowspan="1" style="text-align: center;"><kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - <td><kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - </tr> - <tr> - <th>Safari</th> - <td><kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - <td>N/A</td> - <td><kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - </tr> - <tr> - <th>Opera 15+</th> - <td colspan="2" rowspan="1" style="text-align: center;"><kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - <td><kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd></td> - </tr> - <tr> - <th>Opera 12</th> - <td colspan="3" rowspan="1"> - <p><kbd>Shift</kbd> + <kbd>Esc</kbd> opens a contents list which are accessible by accesskey, then, can choose an item by pressing <kbd><em>key</em></kbd></p> - </td> - </tr> - </tbody> + <tbody> + <tr> + <th></th> + <th>Windows</th> + <th>Linux</th> + <th>Mac</th> + </tr> + <tr> + <th>Firefox</th> + <td colspan="2" rowspan="1" style="text-align: center"> + <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd><em>key</em></kbd> + </td> + <td> + On Firefox 57 or newer, <kbd>Control</kbd> + <kbd>Option</kbd> + + <kbd><em>key</em></kbd> -OR- <kbd>Control</kbd> + <kbd>Alt</kbd> + + <kbd><em>key</em></kbd + ><br />On Firefox 14 or newer, <kbd>Control</kbd> + <kbd>Alt</kbd> + + <kbd><em>key</em></kbd + ><br />On Firefox 13 or older, <kbd>Control</kbd> + + <kbd><em>key</em></kbd> + </td> + </tr> + <tr> + <th>Internet Explorer</th> + <td> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + <td colspan="2" rowspan="1">N/A</td> + </tr> + <tr> + <th>Google Chrome</th> + <td colspan="2" rowspan="1" style="text-align: center"> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + <td> + <kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + </tr> + <tr> + <th>Safari</th> + <td> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + <td>N/A</td> + <td> + <kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + </tr> + <tr> + <th>Opera 15+</th> + <td colspan="2" rowspan="1" style="text-align: center"> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + <td> + <kbd>Control</kbd> + <kbd>Alt</kbd> + <kbd><em>key</em></kbd> + </td> + </tr> + <tr> + <th>Opera 12</th> + <td colspan="3" rowspan="1"> + <p> + <kbd>Shift</kbd> + <kbd>Esc</kbd> opens a contents list which are + accessible by accesskey, then, can choose an item by pressing + <kbd><em>key</em></kbd> + </p> + </td> + </tr> + </tbody> </table> -<p>要注意 Firefox 可以通过用户偏好,自定义所需的修饰键。</p> +要注意 Firefox 可以通过用户偏好,自定义所需的修饰键。 -<h2 id="可访问性">可访问性</h2> +## 可访问性 -<p>除了糟糕的浏览器支持之外, <code>accesskey</code>属性还有很多问题:</p> +除了糟糕的浏览器支持之外, `accesskey`属性还有很多问题: -<ul> - <li><code>accesskey</code> 值可能与系统或浏览器键盘快捷键或辅助技术功能相冲突。对于一个操作系统来说,辅助技术和浏览器组合可能无法与其他操作系统协同工作。</li> - <li>某些 <code>accesskey</code> 值可能不会出现在某些键盘上,特别是在国际化是一个问题的时候。</li> - <li>依赖于数字的 <code>accesskey</code> 值可能会让那些经历认知问题的人感到困惑,因为他们的数字与它触发的功能没有逻辑关联。</li> - <li>通知用户<code>accesskey</code>s 存在,这样他们就能意识到该功能。如果没有公开这些信息的方法,<code>accesskey</code>s 可能会被意外激活。</li> -</ul> +- `accesskey` 值可能与系统或浏览器键盘快捷键或辅助技术功能相冲突。对于一个操作系统来说,辅助技术和浏览器组合可能无法与其他操作系统协同工作。 +- 某些 `accesskey` 值可能不会出现在某些键盘上,特别是在国际化是一个问题的时候。 +- 依赖于数字的 `accesskey` 值可能会让那些经历认知问题的人感到困惑,因为他们的数字与它触发的功能没有逻辑关联。 +- 通知用户`accesskey`s 存在,这样他们就能意识到该功能。如果没有公开这些信息的方法,`accesskey`s 可能会被意外激活。 -<p>由于这些问题,一般建议不要在大多数通用的网站和 web 应用程序中使用<code>accesskey</code> 属性。</p> +由于这些问题,一般建议不要在大多数通用的网站和 web 应用程序中使用`accesskey` 属性。 -<ul> - <li><a href="https://webaim.org/techniques/keyboard/accesskey#spec">WebAIM: Keyboard Accessibility - Accesskey</a></li> -</ul> +- [WebAIM: Keyboard Accessibility - Accesskey](https://webaim.org/techniques/keyboard/accesskey#spec) -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>{{Compat}}</p> +{{Compat}} -<h2 id="参见">参见</h2> +## 参见 -<ul> - <li>{{domxref("Element.accessKey")}}</li> - <li>{{domxref("HTMLElement.accessKeyLabel")}}</li> - <li>所有 <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> +- {{domxref("Element.accessKey")}} +- {{domxref("HTMLElement.accessKeyLabel")}} +- 所有 [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) diff --git a/files/zh-cn/web/html/global_attributes/contextmenu/index.md b/files/zh-cn/web/html/global_attributes/contextmenu/index.md index 8faf23122942ca..c20d6ae5c8e002 100644 --- a/files/zh-cn/web/html/global_attributes/contextmenu/index.md +++ b/files/zh-cn/web/html/global_attributes/contextmenu/index.md @@ -8,56 +8,54 @@ tags: - 参考 translation_of: Web/HTML/Global_attributes/contextmenu --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<div class="warning"> -<p><a href="https://html.spec.whatwg.org/multipage/obsolete.html#attr-contextmenu">contextmenu</a> 属性已经过时,将从所有浏览器中删除。</p> -</div> +> **警告:** [contextmenu](https://html.spec.whatwg.org/multipage/obsolete.html#attr-contextmenu) 属性已经过时,将从所有浏览器中删除。 -<div><code><strong>contextmenu</strong></code><a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a>是指用于某个元素的“上下文菜单”的{{HTMLElement("menu")}}的<a href="/en-US/docs/Web/HTML/Global_attributes/id">ID</a>属性。</div> +**`contextmenu`**[全局属性](/zh-CN/docs/Web/HTML/Global_attributes)是指用于某个元素的“上下文菜单”的{{HTMLElement("menu")}}的[ID](/zh-CN/docs/Web/HTML/Global_attributes/id)属性。上下文菜单是指在用户交互(例如右键点击)时出现的菜单。 HTML5 允许我们自定义此菜单。 这里有一些实现示例,包括嵌套菜单。 -<div>上下文菜单是指在用户交互(例如右键点击)时出现的菜单。 HTML5 允许我们自定义此菜单。 这里有一些实现示例,包括嵌套菜单。</div> +## 示例 -<h2 id="示例">示例</h2> +### HTML -<h3 id="HTML">HTML</h3> - -<pre class="brush: html">&lt;body contextmenu="share"&gt; - &lt;menu type="context" id="share"&gt; - &lt;menu label="share"&gt; - &lt;menuitem label="Twitter" onclick="shareViaTwitter()"&gt;&lt;/menuitem&gt; - &lt;menuitem label="Facebook" onclick="shareViaFacebook()"&gt;&lt;/menuitem&gt; - &lt;/menu&gt; - &lt;/menu&gt; - &lt;ol&gt; - &lt;li&gt; +```html +<body contextmenu="share"> + <menu type="context" id="share"> + <menu label="share"> + <menuitem label="Twitter" onclick="shareViaTwitter()"></menuitem> + <menuitem label="Facebook" onclick="shareViaFacebook()"></menuitem> + </menu> + </menu> + <ol> + <li> Anywhere in the example you can share the page on Twitter and Facebook using the Share menu from your context menu. - &lt;/li&gt; - &lt;li contextmenu="changeFont" id="fontSizing"&gt; + </li> + <li contextmenu="changeFont" id="fontSizing"> On this specific list element, you can change the size of the text by using the "Increase/Decrease font" actions from your context menu - &lt;/li&gt; - &lt;menu type="context" id="changeFont"&gt; - &lt;menuitem label="Increase Font" onclick="incFont()"&gt;&lt;/menuitem&gt; - &lt;menuitem label="Decrease Font" onclick="decFont()"&gt;&lt;/menuitem&gt; - &lt;/menu&gt; - &lt;li contextmenu="ChangeImage" id="changeImage"&gt; + </li> + <menu type="context" id="changeFont"> + <menuitem label="Increase Font" onclick="incFont()"></menuitem> + <menuitem label="Decrease Font" onclick="decFont()"></menuitem> + </menu> + <li contextmenu="ChangeImage" id="changeImage"> On the image below, you can fire the "Change Image" action - in your Context Menu.&lt;br /&gt; - &lt;img src="https://developer.mozilla.org/media/img/promote/promobutton_mdn5.png" - contextmenu="ChangeImage" id="promoButton" /&gt; - &lt;menu type="context" id="ChangeImage"&gt; - &lt;menuitem label="Change Image" onclick="changeImage()"&gt;&lt;/menuitem&gt; - &lt;/menu&gt; - &lt;/li&gt; - &lt;/ol&gt; -&lt;/body&gt; -</pre> - -<h3 id="JavaScript">JavaScript</h3> - -<pre class="brush: js">function shareViaTwitter() { + in your Context Menu.<br /> + <img src="https://developer.mozilla.org/media/img/promote/promobutton_mdn5.png" + contextmenu="ChangeImage" id="promoButton" /> + <menu type="context" id="ChangeImage"> + <menuitem label="Change Image" onclick="changeImage()"></menuitem> + </menu> + </li> + </ol> +</body> +``` + +### JavaScript + +```js +function shareViaTwitter() { window.open("https://twitter.com/intent/tweet?text=" + "Hurray! I am learning ContextMenu from MDN via Mozilla"); } @@ -81,23 +79,21 @@ function changeImage() { "https://developer.mozilla.org/media/img/promote/promobutton_mdn" + index + ".png"; } -</pre> +``` -<h3 id="结果">结果</h3> +### 结果 -<p>{{EmbedLiveSample('示例', "100%", 400)}}</p> +{{EmbedLiveSample('示例', "100%", 400)}} -<h2 id="规范">规范</h2> +## 规范 -<p><a href="https://html.spec.whatwg.org/multipage/obsolete.html#attr-contextmenu">contextmenu</a> 属性已经过时,将从所有浏览器中删除。</p> +[contextmenu](https://html.spec.whatwg.org/multipage/obsolete.html#attr-contextmenu) 属性已经过时,将从所有浏览器中删除。 -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>{{Compat}}</p> +{{Compat}} -<h2 id="推荐阅读">推荐阅读</h2> +## 推荐阅读 -<ul> - <li>All <a href="/en-US/docs/Web/HTML/Global_attributes">global attributes</a></li> - <li>{{domxref("HTMLElement.contextMenu")}}</li> -</ul> +- All [global attributes](/zh-CN/docs/Web/HTML/Global_attributes) +- {{domxref("HTMLElement.contextMenu")}} diff --git a/files/zh-cn/web/html/global_attributes/dir/index.md b/files/zh-cn/web/html/global_attributes/dir/index.md index 895a733ff583ba..25f318ce082cdf 100644 --- a/files/zh-cn/web/html/global_attributes/dir/index.md +++ b/files/zh-cn/web/html/global_attributes/dir/index.md @@ -3,48 +3,30 @@ title: dir slug: Web/HTML/Global_attributes/dir translation_of: Web/HTML/Global_attributes/dir --- -<p>{{HTMLSidebar("Global_attributes")}}</p> - -<p><a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a><strong>dir</strong>是一个指示元素中文本方向的枚举属性。它的取值如下:</p> - -<ul> - <li>ltr,指从<em>左</em>到<em>右</em>,用于那种从左向右书写的语言(比如英语);</li> - <li>rtl,指从<em>右</em>到<em>左</em>,用于那种从右向左书写的语言(比如阿拉伯语);</li> - <li>auto,指由用户代理决定方向。它在解析元素中字符时会运用一个基本算法,直到发现一个具有强方向性的字符,然后将这一方向应用于整个元素。</li> -</ul> - -<div class="note"> -<p><strong>使用说明</strong></p> - -<p>这个属性对有不同语义的{{ HTMLElement("bdo") }}元素是必须的。</p> - -<ul> - <li> - <p>这个属性在{{ HTMLElement("bdi") }}元素中<em>不可</em>继承。未赋值时,它的默认值是 auto。</p> - </li> - <li> - <p>这个属性可以被 CSS 属性{{ cssxref("direction") }}和{{ cssxref("unicode-bidi") }}覆盖,如果 CSS 网页有效且该元素支持这些属性的话。</p> - </li> - <li> - <p>由于文本的方向是和内容的语义而不是和表现相关,因此有可能的话,网页开发者使用这一属性而非 CSS 属性是被推荐的。这样,即使在不支持 CSS 或禁用 CSS 的浏览器中,文本也会正常显示。</p> - </li> - <li> - <p>auto 应当用于方向未知的数据,如用户输入的数据,最终保存在数据库中的数据。</p> - </li> -</ul> -</div> - -<h2 id="规范">规范</h2> +{{HTMLSidebar("Global_attributes")}} + +[全局属性](/zh-CN/docs/Web/HTML/Global_attributes)**dir**是一个指示元素中文本方向的枚举属性。它的取值如下: + +- ltr,指从*左*到*右*,用于那种从左向右书写的语言(比如英语); +- rtl,指从*右*到*左*,用于那种从右向左书写的语言(比如阿拉伯语); +- auto,指由用户代理决定方向。它在解析元素中字符时会运用一个基本算法,直到发现一个具有强方向性的字符,然后将这一方向应用于整个元素。 + +> **备注:** 这个属性对有不同语义的{{ HTMLElement("bdo") }}元素是必须的。 +> +> - 这个属性在{{ HTMLElement("bdi") }}元素中*不可*继承。未赋值时,它的默认值是 auto。 +> - 这个属性可以被 CSS 属性{{ cssxref("direction") }}和{{ cssxref("unicode-bidi") }}覆盖,如果 CSS 网页有效且该元素支持这些属性的话。 +> - 由于文本的方向是和内容的语义而不是和表现相关,因此有可能的话,网页开发者使用这一属性而非 CSS 属性是被推荐的。这样,即使在不支持 CSS 或禁用 CSS 的浏览器中,文本也会正常显示。 +> - auto 应当用于方向未知的数据,如用户输入的数据,最终保存在数据库中的数据。 + +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="See_also">See also</h2> +## See also -<ul> - <li>全部<a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a>。</li> - <li>对应这个属性的{{domxref("HTMLElement.dir")}}。</li> -</ul> +- 全部[全局属性](/zh-CN/docs/Web/HTML/Global_attributes)。 +- 对应这个属性的{{domxref("HTMLElement.dir")}}。 diff --git a/files/zh-cn/web/html/global_attributes/hidden/index.md b/files/zh-cn/web/html/global_attributes/hidden/index.md index 26844dba47121e..eeb10fc9152ed7 100644 --- a/files/zh-cn/web/html/global_attributes/hidden/index.md +++ b/files/zh-cn/web/html/global_attributes/hidden/index.md @@ -3,35 +3,31 @@ title: hidden slug: Web/HTML/Global_attributes/hidden translation_of: Web/HTML/Global_attributes/hidden --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><a href="/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a> <code>hidden</code> 是一个布尔属性,表示一个元素尚未或者不再相关。例如,它可以被用来隐藏一个页面元素直到登录完毕。如果一个元素设置了这个属性,它就不会被显示。</p> +[全局属性](/zh-CN/docs/Web/HTML/Global_attributes) `hidden` 是一个布尔属性,表示一个元素尚未或者不再相关。例如,它可以被用来隐藏一个页面元素直到登录完毕。如果一个元素设置了这个属性,它就不会被显示。 -<p><code>hidden</code>属性不能用于隐藏那些可以在其它板块中合理显示的内容。 例如,用<code>hidden</code>属性去隐藏一个选项卡对话框种的面板是不正确的,因为选项卡界面只不过是溢出显示的一种——一个可以等量于一个只显示所有 form 表单控件的拥有滚动条的大页面。类似地,用 <code>hidden </code>属性在某个特定板块中隐藏一部分内容也是不正确的,——如果某些内容被标记为隐藏,它将从所有版块中隐藏,包括例如屏幕阅读器。</p> +`hidden`属性不能用于隐藏那些可以在其它板块中合理显示的内容。 例如,用`hidden`属性去隐藏一个选项卡对话框种的面板是不正确的,因为选项卡界面只不过是溢出显示的一种——一个可以等量于一个只显示所有 form 表单控件的拥有滚动条的大页面。类似地,用 `hidden `属性在某个特定板块中隐藏一部分内容也是不正确的,——如果某些内容被标记为隐藏,它将从所有版块中隐藏,包括例如屏幕阅读器。 -<p>隐藏元素不应与非隐藏元素链接,作为隐藏元素的后代的元素仍然是活动的,这意味着脚本元素仍然可以执行,表单元素仍然可以提交。</p> +隐藏元素不应与非隐藏元素链接,作为隐藏元素的后代的元素仍然是活动的,这意味着脚本元素仍然可以执行,表单元素仍然可以提交。 -<p>比如说,用 <code>href </code>标签链接到一个带有 <code>hidden </code>标签的区块是不对的。 如果这个区块和这个页面不相干,或者这个区块不适用于这个页面,那没有任何理由需要链接到它。</p> +比如说,用 `href `标签链接到一个带有 `hidden `标签的区块是不对的。 如果这个区块和这个页面不相干,或者这个区块不适用于这个页面,那没有任何理由需要链接到它。 -<p>不过,你还是可以使用 ARIA <code>aria-</code><code>describedby</code> 标签去引用本身是隐藏的一些描述。</p> +不过,你还是可以使用 ARIA ` aria-``describedby ` 标签去引用本身是隐藏的一些描述。 -<p>类似的,你也可以将一个带有 hidden 标签的 canvas 元素作为屏幕外的缓存区域,或者在表单控件中引用一个已经隐藏的表单。</p> +类似的,你也可以将一个带有 hidden 标签的 canvas 元素作为屏幕外的缓存区域,或者在表单控件中引用一个已经隐藏的表单。 -<div class="note"> -<p><strong>说明:</strong> 改变具有 hidden 属性的元素的 CSS 的 {{cssxref("display")}} 属性将覆盖该行为。 例如,元素被设置为 <code>display: flex</code> 将会导致元素显示出来,尽管设置了 hidden 属性</p> -</div> +> **备注:** 改变具有 hidden 属性的元素的 CSS 的 {{cssxref("display")}} 属性将覆盖该行为。 例如,元素被设置为 `display: flex` 将会导致元素显示出来,尽管设置了 hidden 属性 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="另见">另见</h2> +## 另见 -<ul> - <li>所有<a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a>。</li> - <li><a href="/zh-CN/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-hidden_attribute">aria-hidden</a>属性</li> -</ul> +- 所有[全局属性](/zh-CN/docs/Web/HTML/Global_attributes)。 +- [aria-hidden](/zh-CN/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-hidden_attribute)属性 diff --git a/files/zh-cn/web/html/global_attributes/id/index.md b/files/zh-cn/web/html/global_attributes/id/index.md index fc650f7190e3cd..79a1d62e2f3929 100644 --- a/files/zh-cn/web/html/global_attributes/id/index.md +++ b/files/zh-cn/web/html/global_attributes/id/index.md @@ -3,33 +3,27 @@ title: id slug: Web/HTML/Global_attributes/id translation_of: Web/HTML/Global_attributes/id --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong><code>id</code> <a href="/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a></strong>定义了一个全文档唯一的标识符 (ID)。它用于在链接(使用<a href="/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web#片段">片段</a>)、脚本和样式(通过 {{glossary("CSS")}})中辨识元素。</p> +**`id` [全局属性](/zh-CN/docs/Web/HTML/Global_attributes)**定义了一个全文档唯一的标识符 (ID)。它用于在链接(使用[片段](/zh-CN/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web#片段))、脚本和样式(通过 {{glossary("CSS")}})中辨识元素。 -<div>{{EmbedInteractiveExample("pages/tabbed/attribute-id.html","tabbed-shorter")}}</div> +{{EmbedInteractiveExample("pages/tabbed/attribute-id.html","tabbed-shorter")}} -<div class="blockIndicator warning"> -<p>该属性的值是一个不透明(opaque)字符串,这意味着网页开发者不能使用它来传递人类可读的信息。</p> -</div> +> **警告:** 该属性的值是一个不透明(opaque)字符串,这意味着网页开发者不能使用它来传递人类可读的信息。 -<p><code>id</code> 的值不得包含空白字符({{glossary("whitespace")}},包括空格和制表符等)。浏览器会将不符合规范的 ID 中的空白字符视为 ID 的一部分。与允许以空格分隔值的 {{htmlattrxref("class")}} 属性不同,元素只能拥有一个 ID 值。</p> +`id` 的值不得包含空白字符({{glossary("whitespace")}},包括空格和制表符等)。浏览器会将不符合规范的 ID 中的空白字符视为 ID 的一部分。与允许以空格分隔值的 {{htmlattrxref("class")}} 属性不同,元素只能拥有一个 ID 值。 -<div class="note"> -<p><strong>注意:</strong>使用除 {{glossary("ASCII")}} 字母、数字、<code>_</code>、<code>-</code> 和 <code>.</code> 以外的字符可能会造成兼容性问题,因为 HTML 4 中不允许使用它们。虽然这个限制在 {{glossary("HTML5")}} 中被解除了,但为兼容性考虑 ID 应该以字母开头。</p> -</div> +> **备注:** 使用除 {{glossary("ASCII")}} 字母、数字、`_`、`-` 和 `.` 以外的字符可能会造成兼容性问题,因为 HTML 4 中不允许使用它们。虽然这个限制在 {{glossary("HTML5")}} 中被解除了,但为兼容性考虑 ID 应该以字母开头。 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>{{Compat}}</p> +{{Compat}} -<h2 id="另请参阅">另请参阅</h2> +## 另请参阅 -<ul> - <li>所有的<a href="/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a>。</li> - <li>反映该属性的 {{domxref("Element.id")}}。</li> -</ul> +- 所有的[全局属性](/zh-CN/docs/Web/HTML/Global_attributes)。 +- 反映该属性的 {{domxref("Element.id")}}。 diff --git a/files/zh-cn/web/html/global_attributes/index.md b/files/zh-cn/web/html/global_attributes/index.md index 9d20e31aa0441b..730f2dab5c6a61 100644 --- a/files/zh-cn/web/html/global_attributes/index.md +++ b/files/zh-cn/web/html/global_attributes/index.md @@ -8,155 +8,115 @@ tags: - Web translation_of: Web/HTML/Global_attributes --- -<p>{{HTMLSidebar("Global_attributes")}}</p> - -<p><strong>全局属性</strong>是所有 HTML 元素共有的属性; 它们可以用于所有元素,即使属性可能对某些元素不起作用。</p> - -<p>我们可以在所有的 HTML 元素上指定全局属性,甚至是在标准里没有指定的元素。这意味着任何非标准元素仍必须能够应用这些属性,即使使用这些元素意味着文档不再是 html5 兼容的。例如,虽然<code>&lt;foo&gt;</code>不是一个有效的 HTML 元素,但是 html5 兼容的浏览器隐藏了标记为<code>&lt;foo hidden&gt;...&lt;foo&gt;</code>的内容。</p> - -<p>除了基本的 HTML 全局属性之外,还存在以下全局属性:</p> - -<ul> - <li>{{htmlattrdef("xml:lang")}} 和 {{htmlattrdef("xml:base")}} ——两者都是从 XHTML 规范继承,但为了兼容性而被保留的。</li> - <li>多重<code><a href="https://developer.mozilla.org/zh-CN/docs/Web/Accessibility/ARIA">aria-*</a></code>属性,用于改善可访问性。</li> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/Guide/Events/Event_handlers">事件处理程序</a> 属性:<strong><code>onabort</code></strong>, <code><strong>onautocomplete</strong></code>, <code><strong>onautocompleteerror</strong></code>, <code><strong>onblur</strong></code>, <code><strong>oncancel</strong></code>, <code><strong>oncanplay</strong></code>, <code><strong>oncanplaythrough</strong></code>, <code><strong>onchange</strong></code>, <code><strong>onclick</strong></code>, <code><strong>onclose</strong></code>, <code><strong>oncontextmenu</strong></code>, <code><strong>oncuechange</strong></code>, <code><strong>ondblclick</strong></code>, <code><strong>ondrag</strong></code>, <code><strong>ondragend</strong></code>, <code><strong>ondragenter</strong></code>, <code><strong>ondragexit</strong></code>, <code><strong>ondragleave</strong></code>, <code><strong>ondragover</strong></code>, <code><strong>ondragstart</strong></code>, <code><strong>ondrop</strong></code>, <code><strong>ondurationchange</strong></code>, <code><strong>onemptied</strong></code>, <code><strong>onended</strong></code>, <code><strong>onerror</strong></code>, <code><strong>onfocus</strong></code>, <code><strong>oninput</strong></code>, <code><strong>oninvalid</strong></code>, <code><strong>onkeydown</strong></code>, <code><strong>onkeypress</strong></code>, <code><strong>onkeyup</strong></code>, <code><strong>onload</strong></code>, <code><strong>onloadeddata</strong></code>, <code><strong>onloadedmetadata</strong></code>, <code><strong>onloadstart</strong></code>, <code><strong>onmousedown</strong></code>, <code><strong>onmouseenter</strong></code>, <code><strong>onmouseleave</strong></code>, <code><strong>onmousemove</strong></code>, <code><strong>onmouseout</strong></code>, <code><strong>onmouseover</strong></code>, <code><strong>onmouseup</strong></code>, <code><strong>onmousewheel</strong></code>, <code><strong>onpause</strong></code>, <code><strong>onplay</strong></code>, <code><strong>onplaying</strong></code>, <code><strong>onprogress</strong></code>, <code><strong>onratechange</strong></code>, <code><strong>onreset</strong></code>, <code><strong>onresize</strong></code>, <code><strong>onscroll</strong></code>, <code><strong>onseeked</strong></code>, <code><strong>onseeking</strong></code>, <code><strong>onselect</strong></code>, <code><strong>onshow</strong></code>, <code><strong>onsort</strong></code>, <code><strong>onstalled</strong></code>, <code><strong>onsubmit</strong></code>, <code><strong>onsuspend</strong></code>, <code><strong>ontimeupdate</strong></code>, <code><strong>ontoggle</strong></code>, <code><strong>onvolumechange</strong></code>, <code><strong>onwaiting</strong></code>.</li> -</ul> - -<h2 id="全局属性列表">全局属性列表 </h2> - -<ul> -</ul> - -<dl> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes/accesskey">{{htmlattrdef("accesskey")}}</a></dt> - <dd>提供了为当前元素生成键盘快捷键的提示。这个属性由空格分隔的字符列表组成。浏览器应该使用在计算机键盘布局上存在的第一个。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/autocapitalize">{{htmlattrdef("autocapitalize")}}</a></dt> - <dd>控制用户的文本输入是否和如何自动大写,它可以有以下的值: - <ul> - <li><code>off</code> or <code>none</code>,没有应用自动大写(所有字母都默认为小写字母)。</li> - <li><code>on</code> or <code>sentences</code>,每个句子的第一个字母默认为大写字母;所有其他字母都默认为小写字母。</li> - <li><code>words</code>,每个单词的第一个字母默认为大写字母;所有其他字母都默认为小写字母。</li> - <li><code>characters</code>,所有的字母都应该默认为大写。</li> - </ul> - </dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/class">{{htmlattrdef("class")}}</a></dt> - <dd>一个以空格分隔的元素的类名(classes )列表,它允许 CSS 和 Javascript 通过类选择器 (<a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/Class_selectors">class selectors</a>) 或 DOM 方法 ( <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/Document/getElementsByClassName"><code>document.getElementsByClassName</code></a>) 来选择和访问特定的元素。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/contenteditable">{{htmlattrdef("contenteditable")}}</a></dt> - <dd>一个枚举属性(enumerated attribute),表示元素是否可被用户编辑。 如果可以,浏览器会调整元素的部件(widget)以允许编辑。 - <ul> - <li><code>true</code> 或者空字符串,表明元素是可被编辑的;</li> - <li><code>false</code>,表明元素不能被编辑。</li> - </ul> - </dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes/contextmenu">{{htmlattrdef("contextmenu")}}</a></dt> - <dd>{{HTMLElement("menu")}} 的 <code>id</code>,作为该元素的上下文菜单(已经不被支持,将从所有浏览器中删除)。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes/data-*">{{htmlattrdef("data-*")}}</a></dt> - <dd>一类自定义数据属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力,并可以通过脚本 (一般指 JavaScript) 与 <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML">HTML</a> 之间进行专有数据的交换。所有这些自定义数据属性都可以通过所属元素的 <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement"><code>HTMLElement</code></a> 接口来访问。 <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/dataset"><code>HTMLElement.dataset</code></a> 属性可以访问它们。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes/dir">{{htmlattrdef("dir")}}</a></dt> - <dd> - <p>一个指示元素中文本方向的枚举属性。它的取值如下:</p> - - <ul> - <li>ltr,指从<em>左</em>到<em>右</em>,用于那种从左向右书写的语言(比如英语);</li> - <li>rtl,指从<em>右</em>到<em>左</em>,用于那种从右向左书写的语言(比如阿拉伯语);</li> - <li>auto,指由用户代理决定方向。它在解析元素中字符时会运用一个基本算法,直到发现一个具有强方向性的字符,然后将这一方向应用于整个元素。</li> - </ul> - </dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes/draggable">{{htmlattrdef("draggable")}}</a></dt> - <dd>一种枚举属性,指示是否可以 使用 <a href="/zh-CN/docs/DragDrop/Drag_and_Drop">Drag and Drop API</a> 拖动元素。它可以有以下的值: - <ul> - <li><code>true</code>, 这表明元素可能被拖动</li> - <li><code>false</code>, 这表明元素可能不会被拖动</li> - </ul> - </dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/dropzone">{{htmlattrdef("dropzone")}}</a> {{experimental_inline}}</dt> - <dd>枚举属性,指示可以使用 <a href="https://developer.mozilla.org/en-US/docs/DragDrop/Drag_and_Drop">Drag and Drop API</a> 在元素上删除哪些类型的内容。 它可以具有以下值: - <ul> - <li>copy,表示 drop 将创建被拖动元素的副本</li> - <li>move,表示拖动的元素将移动到此新位置。</li> - <li><code>link</code>,将创建一个指向拖动数据的链接。</li> - </ul> - </dd> - <dt><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts">{{HTMLAttrDef("exportparts")}}</a> {{Experimental_Inline}}</dt> - <dd>Used to transitively export shadow parts from a nested shadow tree into a containing light tree.</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/hidden">{{htmlattrdef("hidden")}}</a></dt> - <dd>布尔属性表示该元素尚未或不再<em>相关</em>。例如,它可用于隐藏在登录过程完成之前无法使用的页面元素。浏览器不会呈现此类元素。不得使用此属性隐藏可合法显示的内容</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/id">{{htmlattrdef("id")}}</a></dt> - <dd>定义唯一标识符(ID),该标识符在整个文档中必须是唯一的。 其目的是在链接(使用片段标识符),脚本或样式(使用 CSS)时标识元素。</dd> - <dt><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode">{{HTMLAttrDef("inputmode")}}</a></dt> - <dd>向浏览器提供有关在编辑此元素或其内容时要使用的虚拟键盘配置类型的提示。主要用于 {{HTMLElement("input")}}元素,但在{{HTMLAttrxRef("contenteditable")}}模式下可用于任何元素。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/is">{{htmlattrdef("is")}}</a></dt> - <dd>允许您指定标准 HTML 元素应该像已注册的自定义内置元素一样(有关更多详细信息,请参阅使用自定义元素)。</dd> -</dl> - -<div class="note"> -<p><strong>注意:</strong>item *属性是 <a href="https://html.spec.whatwg.org/multipage/microdata.html#microdata">WHATWG HTML Microdata feature</a>的一部分。</p> -</div> - -<dl> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/itemid">{{htmlattrdef("itemid")}}</a></dt> - <dd>项的唯一全局标识符。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/itemprop">{{htmlattrdef("itemprop")}}</a></dt> - <dd>用于向项添加属性。 每个 HTML 元素都可以指定一个 itemprop 属性,其中一个 itemprop 由一个名称和值对组成。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/itemref">{{htmlattrdef("itemref")}}</a></dt> - <dd>只有不是具有<code>itemscope</code>属性的元素的后代,它的属性才可以与使用<code>itemref</code>项目相关联。它提供了元素 ID 列表(而不是<code>itemids</code>)以及文档中其他位置的其他属性。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/itemscope">{{htmlattrdef("itemscope")}}</a></dt> - <dd><code>itemscope</code>(通常)与{{htmlattrxref("itemtype")}}一起使用,以指定包含在关于特定项目代码块中的 HTML。 <code>itemscope</code>创建 Item 并定义与之关联的<code>itemtype</code>的范围。 <code>itemtype</code>是描述项及其属性上下文的词汇表(例如<a href="https://schema.org/">schema.org</a>)的有效 URL。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/itemtype">{{htmlattrdef("itemtype")}}</a></dt> - <dd>指定将用于在数据结构中定义<code>itemprops</code>(项属性)的词汇表的 URL。 <code><a href="/en-US/docs/Web/HTML/Global_attributes/itemscope">itemscope</a></code>用于设置数据结构中按<code>itemtype</code>设置的词汇表的生效范围。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/lang">{{htmlattrdef("lang")}}</a></dt> - <dd>帮助定义元素的语言:不可编辑元素所在的语言,或者应该由用户编写的可编辑元素的语言。该属性包含一个“语言标记”(由用连字符分隔的“语言子标记”组成),格式在 <a href="https://www.ietf.org/rfc/bcp/bcp47.txt"><em>Tags for Identifying Languages (BCP47)</em></a> 中定义。<strong><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes$edit#attr-xml:lang">xml:lang</a> </strong>优先于它。</dd> - <dt></dt> - <dt><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part">{{HTMLAttrDef("part")}}</a> {{Experimental_Inline}}</dt> - <dd>元素的部件名称的空格分隔列表。Part 名称允许 CSS 通过{{CSSxRef("::part()")}} 伪元素选择和设置阴影关联树中的特定元素。</dd> -</dl> - -<dl> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/slot">{{htmlattrdef("slot")}}</a></dt> - <dd>将<a href="/en-US/docs/Web/Web_Components/Shadow_DOM">shadow DOM</a>阴影关联树中的一个沟槽分配给一个元素:具有<code>slot</code>属性的元素被分配给由{{HTMLElement("slot")}}元素创建的沟槽,其{{htmlattrxref("name", "slot")}}属性的值与<code>slot</code>属性的值匹配。</dd> -</dl> - -<dl> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/spellcheck">{{htmlattrdef("spellcheck")}}</a> {{experimental_inline}}</dt> - <dd>枚举属性定义是否可以检查元素是否存在拼写错误。它可能具有以下值: - <ul> - <li><code>true</code>,表示如果可能,应检查元素是否存在拼写错误;</li> - <li><code>false</code>, 表示不应检查元素的拼写错误。</li> - </ul> - </dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/style">{{htmlattrdef("style")}}</a></dt> - <dd>含要应用于元素的<a href="/en-US/docs/Web/CSS">CSS</a>样式声明。 请注意,建议在单独的文件中定义样式。 该属性和{{HTMLElement("style")}}元素主要用于快速样式化,例如用于测试目的。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/tabindex">{{htmlattrdef("tabindex")}}</a></dt> - <dd>整数属性,指示元素是否可以获取输入焦点(可聚焦),是否应该参与顺序键盘导航,如果是,则表示哪个位置。它可能需要几个值: - <ul> - <li>负值表示该元素应该是可聚焦的,但不应通过顺序键盘导航到达;</li> - <li><code>0</code> 表示元素应通过顺序键盘导航可聚焦和可到达,但其相对顺序由平台约定定义;</li> - <li>正值意味着元素应该可以通过顺序键盘导航进行聚焦和访问;元素聚焦的顺序是<a href="#attr-tabindex"><strong>tabindex</strong></a>的增加值。如果多个元素共享相同的<code>tabindex</code>,则它们的相对顺序遵循它们在文档中的相对位置。</li> - </ul> - </dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/title">{{htmlattrdef("title")}}</a></dt> - <dd>包含表示与其所属元素相关信息的文本。 这些信息通常可以作为提示呈现给用户,但不是必须的。</dd> - <dt><a href="/en-US/docs/Web/HTML/Global_attributes/translate">{{htmlattrdef("translate")}}</a> {{experimental_inline}}</dt> - <dd>枚举属性,用于指定在页面本地化时是否转换元素的属性值及其{{domxref("Text")}} 节点子节点的值,或者是否保持它们不变。它可以具有以下值: - <ul> - <li>空字符串和<code>"yes"</code>,表示元素将被翻译。</li> - <li><code>"no"</code>, 表示该元素不会被翻译。</li> - </ul> - </dd> -</dl> - -<h2 id="规范">规范</h2> +{{HTMLSidebar("Global_attributes")}} + +**全局属性**是所有 HTML 元素共有的属性; 它们可以用于所有元素,即使属性可能对某些元素不起作用。 + +我们可以在所有的 HTML 元素上指定全局属性,甚至是在标准里没有指定的元素。这意味着任何非标准元素仍必须能够应用这些属性,即使使用这些元素意味着文档不再是 html5 兼容的。例如,虽然`<foo>`不是一个有效的 HTML 元素,但是 html5 兼容的浏览器隐藏了标记为`<foo hidden>...<foo>`的内容。 + +除了基本的 HTML 全局属性之外,还存在以下全局属性: + +- {{htmlattrdef("xml:lang")}} 和 {{htmlattrdef("xml:base")}} ——两者都是从 XHTML 规范继承,但为了兼容性而被保留的。 +- 多重[`aria-*`](https://developer.mozilla.org/zh-CN/docs/Web/Accessibility/ARIA)属性,用于改善可访问性。 +- [事件处理程序](/zh-CN/docs/Web/Guide/Events/Event_handlers) 属性:**`onabort`**, **`onautocomplete`**, **`onautocompleteerror`**, **`onblur`**, **`oncancel`**, **`oncanplay`**, **`oncanplaythrough`**, **`onchange`**, **`onclick`**, **`onclose`**, **`oncontextmenu`**, **`oncuechange`**, **`ondblclick`**, **`ondrag`**, **`ondragend`**, **`ondragenter`**, **`ondragexit`**, **`ondragleave`**, **`ondragover`**, **`ondragstart`**, **`ondrop`**, **`ondurationchange`**, **`onemptied`**, **`onended`**, **`onerror`**, **`onfocus`**, **`oninput`**, **`oninvalid`**, **`onkeydown`**, **`onkeypress`**, **`onkeyup`**, **`onload`**, **`onloadeddata`**, **`onloadedmetadata`**, **`onloadstart`**, **`onmousedown`**, **`onmouseenter`**, **`onmouseleave`**, **`onmousemove`**, **`onmouseout`**, **`onmouseover`**, **`onmouseup`**, **`onmousewheel`**, **`onpause`**, **`onplay`**, **`onplaying`**, **`onprogress`**, **`onratechange`**, **`onreset`**, **`onresize`**, **`onscroll`**, **`onseeked`**, **`onseeking`**, **`onselect`**, **`onshow`**, **`onsort`**, **`onstalled`**, **`onsubmit`**, **`onsuspend`**, **`ontimeupdate`**, **`ontoggle`**, **`onvolumechange`**, **`onwaiting`**. + +## 全局属性列表 + +- [{{htmlattrdef("accesskey")}}](/zh-CN/docs/Web/HTML/Global_attributes/accesskey) + - : 提供了为当前元素生成键盘快捷键的提示。这个属性由空格分隔的字符列表组成。浏览器应该使用在计算机键盘布局上存在的第一个。 +- [{{htmlattrdef("autocapitalize")}}](/zh-CN/docs/Web/HTML/Global_attributes/autocapitalize) + - : 控制用户的文本输入是否和如何自动大写,它可以有以下的值: + + - `off` or `none`,没有应用自动大写(所有字母都默认为小写字母)。 + - `on` or `sentences`,每个句子的第一个字母默认为大写字母;所有其他字母都默认为小写字母。 + - `words`,每个单词的第一个字母默认为大写字母;所有其他字母都默认为小写字母。 + - `characters`,所有的字母都应该默认为大写。 +- [{{htmlattrdef("class")}}](/zh-CN/docs/Web/HTML/Global_attributes/class) + - : 一个以空格分隔的元素的类名(classes )列表,它允许 CSS 和 Javascript 通过类选择器 ([class selectors](/zh-CN/docs/Web/CSS/Class_selectors)) 或 DOM 方法 ( [`document.getElementsByClassName`](/zh-CN/docs/Web/API/Document/getElementsByClassName)) 来选择和访问特定的元素。 +- [{{htmlattrdef("contenteditable")}}](/zh-CN/docs/Web/HTML/Global_attributes/contenteditable) + - : 一个枚举属性(enumerated attribute),表示元素是否可被用户编辑。 如果可以,浏览器会调整元素的部件(widget)以允许编辑。 + + - `true` 或者空字符串,表明元素是可被编辑的; + - `false`,表明元素不能被编辑。 +- [{{htmlattrdef("contextmenu")}}](/zh-CN/docs/Web/HTML/Global_attributes/contextmenu) + - : {{HTMLElement("menu")}} 的 `id`,作为该元素的上下文菜单(已经不被支持,将从所有浏览器中删除)。 +- [{{htmlattrdef("data-*")}}](/zh-CN/docs/Web/HTML/Global_attributes/data-*) + - : 一类自定义数据属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力,并可以通过脚本 (一般指 JavaScript) 与 [HTML](/zh-CN/docs/Web/HTML) 之间进行专有数据的交换。所有这些自定义数据属性都可以通过所属元素的 [`HTMLElement`](/zh-CN/docs/Web/API/HTMLElement) 接口来访问。 [`HTMLElement.dataset`](/zh-CN/docs/Web/API/HTMLElement/dataset) 属性可以访问它们。 +- [{{htmlattrdef("dir")}}](/zh-CN/docs/Web/HTML/Global_attributes/dir) + - : 一个指示元素中文本方向的枚举属性。它的取值如下: + + - ltr,指从*左*到*右*,用于那种从左向右书写的语言(比如英语); + - rtl,指从*右*到*左*,用于那种从右向左书写的语言(比如阿拉伯语); + - auto,指由用户代理决定方向。它在解析元素中字符时会运用一个基本算法,直到发现一个具有强方向性的字符,然后将这一方向应用于整个元素。 +- [{{htmlattrdef("draggable")}}](/zh-CN/docs/Web/HTML/Global_attributes/draggable) + - : 一种枚举属性,指示是否可以 使用 [Drag and Drop API](/zh-CN/docs/DragDrop/Drag_and_Drop) 拖动元素。它可以有以下的值: + + - `true`, 这表明元素可能被拖动 + - `false`, 这表明元素可能不会被拖动 +- [{{htmlattrdef("dropzone")}}](/zh-CN/docs/Web/HTML/Global_attributes/dropzone) {{experimental_inline}} + - : 枚举属性,指示可以使用 [Drag and Drop API](/zh-CN/docs/DragDrop/Drag_and_Drop) 在元素上删除哪些类型的内容。 它可以具有以下值: + + - copy,表示 drop 将创建被拖动元素的副本 + - move,表示拖动的元素将移动到此新位置。 + - `link`,将创建一个指向拖动数据的链接。 +- [{{HTMLAttrDef("exportparts")}}](/zh-CN/docs/Web/HTML/Global_attributes/exportparts) {{Experimental_Inline}} + - : Used to transitively export shadow parts from a nested shadow tree into a containing light tree. +- [{{htmlattrdef("hidden")}}](/zh-CN/docs/Web/HTML/Global_attributes/hidden) + - : 布尔属性表示该元素尚未或不再*相关*。例如,它可用于隐藏在登录过程完成之前无法使用的页面元素。浏览器不会呈现此类元素。不得使用此属性隐藏可合法显示的内容 +- [{{htmlattrdef("id")}}](/zh-CN/docs/Web/HTML/Global_attributes/id) + - : 定义唯一标识符(ID),该标识符在整个文档中必须是唯一的。 其目的是在链接(使用片段标识符),脚本或样式(使用 CSS)时标识元素。 +- [{{HTMLAttrDef("inputmode")}}](/zh-CN/docs/Web/HTML/Global_attributes/inputmode) + - : 向浏览器提供有关在编辑此元素或其内容时要使用的虚拟键盘配置类型的提示。主要用于 {{HTMLElement("input")}}元素,但在{{HTMLAttrxRef("contenteditable")}}模式下可用于任何元素。 +- [{{htmlattrdef("is")}}](/zh-CN/docs/Web/HTML/Global_attributes/is) + - : 允许您指定标准 HTML 元素应该像已注册的自定义内置元素一样(有关更多详细信息,请参阅使用自定义元素)。 + + > **备注:** item 属性是 [WHATWG HTML Microdata feature](https://html.spec.whatwg.org/multipage/microdata.html#microdata)的一部分。 + +- [{{htmlattrdef("itemid")}}](/zh-CN/docs/Web/HTML/Global_attributes/itemid) + - : 项的唯一全局标识符。 +- [{{htmlattrdef("itemprop")}}](/zh-CN/docs/Web/HTML/Global_attributes/itemprop) + - : 用于向项添加属性。 每个 HTML 元素都可以指定一个 itemprop 属性,其中一个 itemprop 由一个名称和值对组成。 +- [{{htmlattrdef("itemref")}}](/zh-CN/docs/Web/HTML/Global_attributes/itemref) + - : 只有不是具有`itemscope`属性的元素的后代,它的属性才可以与使用`itemref`项目相关联。它提供了元素 ID 列表(而不是`itemids`)以及文档中其他位置的其他属性。 +- [{{htmlattrdef("itemscope")}}](/zh-CN/docs/Web/HTML/Global_attributes/itemscope) + - : `itemscope`(通常)与{{htmlattrxref("itemtype")}}一起使用,以指定包含在关于特定项目代码块中的 HTML。 `itemscope`创建 Item 并定义与之关联的`itemtype`的范围。 `itemtype`是描述项及其属性上下文的词汇表(例如[schema.org](https://schema.org/))的有效 URL。 +- [{{htmlattrdef("itemtype")}}](/zh-CN/docs/Web/HTML/Global_attributes/itemtype) + - : 指定将用于在数据结构中定义`itemprops`(项属性)的词汇表的 URL。 [`itemscope`](/zh-CN/docs/Web/HTML/Global_attributes/itemscope)用于设置数据结构中按`itemtype`设置的词汇表的生效范围。 +- [{{htmlattrdef("lang")}}](/zh-CN/docs/Web/HTML/Global_attributes/lang) + - : 帮助定义元素的语言:不可编辑元素所在的语言,或者应该由用户编写的可编辑元素的语言。该属性包含一个“语言标记”(由用连字符分隔的“语言子标记”组成),格式在 [_Tags for Identifying Languages (BCP47)_](https://www.ietf.org/rfc/bcp/bcp47.txt) 中定义。**[xml:lang](/zh-CN/docs/Web/HTML/Global_attributes$edit#attr-xml:lang) **优先于它。 +- [{{HTMLAttrDef("part")}}](/zh-CN/docs/Web/HTML/Global_attributes/part) {{Experimental_Inline}} + - : 元素的部件名称的空格分隔列表。Part 名称允许 CSS 通过{{CSSxRef("::part()")}} 伪元素选择和设置阴影关联树中的特定元素。 +- [{{htmlattrdef("slot")}}](/zh-CN/docs/Web/HTML/Global_attributes/slot) + - : 将[shadow DOM](/zh-CN/docs/Web/Web_Components/Shadow_DOM)阴影关联树中的一个沟槽分配给一个元素:具有`slot`属性的元素被分配给由{{HTMLElement("slot")}}元素创建的沟槽,其{{htmlattrxref("name", "slot")}}属性的值与`slot`属性的值匹配。 +- [{{htmlattrdef("spellcheck")}}](/zh-CN/docs/Web/HTML/Global_attributes/spellcheck) {{experimental_inline}} + - : 枚举属性定义是否可以检查元素是否存在拼写错误。它可能具有以下值: + + - `true`,表示如果可能,应检查元素是否存在拼写错误; + - `false`, 表示不应检查元素的拼写错误。 +- [{{htmlattrdef("style")}}](/zh-CN/docs/Web/HTML/Global_attributes/style) + - : 含要应用于元素的[CSS](/zh-CN/docs/Web/CSS)样式声明。 请注意,建议在单独的文件中定义样式。 该属性和{{HTMLElement("style")}}元素主要用于快速样式化,例如用于测试目的。 +- [{{htmlattrdef("tabindex")}}](/zh-CN/docs/Web/HTML/Global_attributes/tabindex) + - : 整数属性,指示元素是否可以获取输入焦点(可聚焦),是否应该参与顺序键盘导航,如果是,则表示哪个位置。它可能需要几个值: + + - 负值表示该元素应该是可聚焦的,但不应通过顺序键盘导航到达; + - `0` 表示元素应通过顺序键盘导航可聚焦和可到达,但其相对顺序由平台约定定义; + - 正值意味着元素应该可以通过顺序键盘导航进行聚焦和访问;元素聚焦的顺序是[**tabindex**](#attr-tabindex)的增加值。如果多个元素共享相同的`tabindex`,则它们的相对顺序遵循它们在文档中的相对位置。 +- [{{htmlattrdef("title")}}](/zh-CN/docs/Web/HTML/Global_attributes/title) + - : 包含表示与其所属元素相关信息的文本。 这些信息通常可以作为提示呈现给用户,但不是必须的。 +- [{{htmlattrdef("translate")}}](/zh-CN/docs/Web/HTML/Global_attributes/translate) {{experimental_inline}} + - : 枚举属性,用于指定在页面本地化时是否转换元素的属性值及其{{domxref("Text")}} 节点子节点的值,或者是否保持它们不变。它可以具有以下值: + + - 空字符串和`"yes"`,表示元素将被翻译。 + - `"no"`, 表示该元素不会被翻译。 + +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 +{{Compat}} +## 参见 -<p>{{Compat}}</p> - -<h2 id="参见">参见</h2> - -<ul> - <li>{{domxref("Element")}} 和 {{domxref("GlobalEventHandlers")}} 接口允许查询大多数全局属性。</li> -</ul> +- {{domxref("Element")}} 和 {{domxref("GlobalEventHandlers")}} 接口允许查询大多数全局属性。 diff --git a/files/zh-cn/web/html/global_attributes/inputmode/index.md b/files/zh-cn/web/html/global_attributes/inputmode/index.md index 341c913d036b66..c5ad43c63337a2 100644 --- a/files/zh-cn/web/html/global_attributes/inputmode/index.md +++ b/files/zh-cn/web/html/global_attributes/inputmode/index.md @@ -3,47 +3,39 @@ title: inputmode slug: Web/HTML/Global_attributes/inputmode translation_of: Web/HTML/Global_attributes/inputmode --- -<p><strong><code>inputmode</code></strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。它可以是以下值:</p> - -<dl> - <dt><code>"none"</code></dt> - <dd>无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。</dd> - <dt><code>"text"</code></dt> - <dd>使用用户本地区域设置的标准文本输入键盘。</dd> - <dt><code>"decimal"</code></dt> - <dd>小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。</dd> - <dt><code>"numeric"</code></dt> - <dd>数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。</dd> - <dt><code>"tel"</code></dt> - <dd>电话输入键盘,包含 0 到 9 的数字、星号(*)和井号(#)键。表单输入里面的电话输入通常应该使用 <code><a href="/en-US/docs/Web/HTML/Element/input/tel">&lt;input type="tel"&gt;</a></code> 。</dd> - <dt><code>"search"</code></dt> - <dd>为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。</dd> - <dt><code>"email"</code></dt> - <dd>为邮件地址输入优化的虚拟键盘,通常包含"@"符号和其他优化。表单里面的邮件地址输入应该使用 <code><a href="/en-US/docs/Web/HTML/Element/input/email">&lt;input type="email"&gt;</a></code> 。</dd> - <dt><code>"url"</code></dt> - <dd>为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 <code><a href="/en-US/docs/Web/HTML/Element/input/url">&lt;input type="url"&gt;</a></code> 。</dd> -</dl> - -<p>如果没有设置这个属性,它的默认值是 <code>"text"</code>,表明使用本地的标准文本输入键盘。</p> - -<div class="warning"> -<p><strong>规范冲突</strong>: <a href="https://html.spec.whatwg.org/multipage/interaction.html#attr-inputmode">WHATWG(超文本应用技术工作组) 规范中列出了 <code>inputmode</code></a>, 并且现代浏览器正在努力支持它。但 <a href="https://www.w3.org/TR/html52/index.html#contents">W3C HTML 5.2 规范</a> 不再将其列出(也就是说将其标记为过时的)。在达成共识之前,你应该认为 WHATWG 规范定义的就是正确的。</p> -</div> - -<h2 id="规范">规范</h2> +**`inputmode`** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 是一个枚举属性,它提供了用户在编辑元素或其内容时可能输入的数据类型的提示。它可以是以下值: + +- `"none"` + - : 无虚拟键盘。在应用程序或者站点需要实现自己的键盘输入控件时很有用。 +- `"text"` + - : 使用用户本地区域设置的标准文本输入键盘。 +- `"decimal"` + - : 小数输入键盘,包含数字和分隔符(通常是“ . ”或者“ , ”),设备可能也可能不显示减号键。 +- `"numeric"` + - : 数字输入键盘,所需要的就是 0 到 9 的数字,设备可能也可能不显示减号键。 +- `"tel"` + - : 电话输入键盘,包含 0 到 9 的数字、星号(\*)和井号(#)键。表单输入里面的电话输入通常应该使用 [`<input type="tel">`](/en-US/docs/Web/HTML/Element/input/tel) 。 +- `"search"` + - : 为搜索输入优化的虚拟键盘,比如,返回键可能被重新标记为“搜索”,也可能还有其他的优化。 +- `"email"` + - : 为邮件地址输入优化的虚拟键盘,通常包含"@"符号和其他优化。表单里面的邮件地址输入应该使用 [`<input type="email">`](/en-US/docs/Web/HTML/Element/input/email) 。 +- `"url"` + - : 为网址输入优化的虚拟键盘,比如,“/”键会更加明显、历史记录访问等。表单里面的网址输入通常应该使用 [`<input type="url">`](/en-US/docs/Web/HTML/Element/input/url) 。 + +如果没有设置这个属性,它的默认值是 `"text"`,表明使用本地的标准文本输入键盘。 + +> **警告:** [WHATWG(超文本应用技术工作组) 规范中列出了 `inputmode`](https://html.spec.whatwg.org/multipage/interaction.html#attr-inputmode), 并且现代浏览器正在努力支持它。但 [W3C HTML 5.2 规范](https://www.w3.org/TR/html52/index.html#contents) 不再将其列出(也就是说将其标记为过时的)。在达成共识之前,你应该认为 WHATWG 规范定义的就是正确的。 + +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 +{{Compat}} +## 参照 -<p>{{Compat}}</p> +- 所有 [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) -<h2 id="参照">参照</h2> - -<ul> - <li>所有 <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> - -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} diff --git a/files/zh-cn/web/html/global_attributes/itemid/index.md b/files/zh-cn/web/html/global_attributes/itemid/index.md index dfbf974bf36d1b..b211ee8e6fd8e5 100644 --- a/files/zh-cn/web/html/global_attributes/itemid/index.md +++ b/files/zh-cn/web/html/global_attributes/itemid/index.md @@ -9,80 +9,78 @@ tags: - Reference translation_of: Web/HTML/Global_attributes/itemid --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><code><strong>itemid</strong></code> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 是元素的唯一的全局标识符。<code>itemid</code> 属性只能为同时拥有 <strong><code>itemscope</code> </strong>和 <strong><code>itemtype</code></strong> 的元素指定。同时,<code>itemid</code> 只能为拥有 <code>itemscope</code> 的元素指定,它的相应 <code>itemtype</code> 引用或定义了支持全局标识符的词汇。</p> +**`itemid`** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 是元素的唯一的全局标识符。`itemid` 属性只能为同时拥有 **`itemscope` **和 **`itemtype`** 的元素指定。同时,`itemid` 只能为拥有 `itemscope` 的元素指定,它的相应 `itemtype` 引用或定义了支持全局标识符的词汇。 -<p><code>itemtype</code> 的全局标识符的准确含义,由该标识符以指定的词汇提供。词汇定义了全局标识符相同的多个元素是否可以共存,并且如果是这样,这些元素如何处理。 </p> +`itemtype` 的全局标识符的准确含义,由该标识符以指定的词汇提供。词汇定义了全局标识符相同的多个元素是否可以共存,并且如果是这样,这些元素如何处理。 -<p><strong>注:</strong>Whatwg.org 的定义规定了 <code>itemid</code> 必须是 URL。但是,下面的示例正确展示了 URN 也可以使用。这个不一致性可能反映了 Microdata 规范的不完善性。</p> +**注:**Whatwg.org 的定义规定了 `itemid` 必须是 URL。但是,下面的示例正确展示了 URN 也可以使用。这个不一致性可能反映了 Microdata 规范的不完善性。 -<h2 id="示例">示例</h2> +## 示例 -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush: html">&lt;dl itemscope +```html +<dl itemscope itemtype="http://vocab.example.net/book" - itemid="urn:isbn:0-330-34032-8"&gt; -&lt;dt&gt;Title &lt;dd itemprop="title"&gt;The Reality Dysfunction -&lt;dt&gt;Author &lt;dd itemprop="author"&gt;Peter F. Hamilton -&lt;dt&gt;Publication date -&lt;dd&gt;&lt;time itemprop="pubdate" datetime="1996-01-26"&gt;26 January 1996&lt;/time&gt; &lt;/dl&gt;</pre> + itemid="urn:isbn:0-330-34032-8"> +<dt>Title <dd itemprop="title">The Reality Dysfunction +<dt>Author <dd itemprop="author">Peter F. Hamilton +<dt>Publication date +<dd><time itemprop="pubdate" datetime="1996-01-26">26 January 1996</time> </dl> +``` -<h3 id="结构化数据">结构化数据</h3> +### 结构化数据 <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="14">itemscope</td> - <td>itemtype: itemid</td> - <td colspan="2" rowspan="1"> - <div class="jyrRxf-eEDwDf jcd3Mb IZ65Hb-hUbt4d">http://vocab.example.net/book: urn:isbn:0-330-34032-8</div> - </td> - </tr> - <tr> - <td>itemprop</td> - <td>title</td> - <td>The Reality Dysfunction</td> - </tr> - <tr> - <td>itemprop</td> - <td>author</td> - <td> - Peter F. Hamilton - </td> - </tr> - <tr> - <td>itemprop</td> - <td>pubdate</td> - <td>1996-01-26</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="14">itemscope</td> + <td>itemtype: itemid</td> + <td colspan="2" rowspan="1"> + <div class="jyrRxf-eEDwDf jcd3Mb IZ65Hb-hUbt4d"> + http://vocab.example.net/book: urn:isbn:0-330-34032-8 + </div> + </td> + </tr> + <tr> + <td>itemprop</td> + <td>title</td> + <td>The Reality Dysfunction</td> + </tr> + <tr> + <td>itemprop</td> + <td>author</td> + <td>Peter F. Hamilton</td> + </tr> + <tr> + <td>itemprop</td> + <td>pubdate</td> + <td>1996-01-26</td> + </tr> + </tbody> </table> -<h3 id="结果">结果</h3> +### 结果 -<p>{{EmbedLiveSample('示例')}}</p> +{{EmbedLiveSample('示例')}} -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="另见">另见</h2> - -<ul> - <li><a href="/en-US/docs/Web/HTML/Global_attributes">其它不同的全局属性</a></li> - <li>其它 microdata 相关的全局属性 - <ul> - <li>{{htmlattrxref("itemid")}}</li> - <li>{{htmlattrxref("itemprop")}}</li> - <li>{{htmlattrxref("itemref")}}</li> - <li>{{htmlattrxref("itemscope")}}</li> - <li>{{htmlattrxref("itemtype")}}</li> - </ul> - </li> -</ul> +## 另见 + +- [其它不同的全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 其它 microdata 相关的全局属性 + + - {{htmlattrxref("itemid")}} + - {{htmlattrxref("itemprop")}} + - {{htmlattrxref("itemref")}} + - {{htmlattrxref("itemscope")}} + - {{htmlattrxref("itemtype")}} diff --git a/files/zh-cn/web/html/global_attributes/itemprop/index.md b/files/zh-cn/web/html/global_attributes/itemprop/index.md index 8c25c6e6892e4b..79305797594027 100644 --- a/files/zh-cn/web/html/global_attributes/itemprop/index.md +++ b/files/zh-cn/web/html/global_attributes/itemprop/index.md @@ -3,446 +3,453 @@ title: itemprop slug: Web/HTML/Global_attributes/itemprop translation_of: Web/HTML/Global_attributes/itemprop --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p>全局属性 <code><strong>itemprop</strong></code>被用于向一个物体中添加属性。每一个 HTML 元素都可以指定一个 itemprop 属性,一个<code>itemprop</code>属性由 name-value 对组成。每一个键值对称为一个属性,一个元素可以有一个或者多个属性。属性值可以是一个 string 或者一个 URL,并且可以和大部分元素进行组合,包括{{HTMLElement("audio")}}, {{HTMLElement("embed")}}, {{HTMLElement("iframe")}}, {{HTMLElement("img")}}, {{HTMLElement("link")}}, {{HTMLElement("object")}}, {{HTMLElement("source")}} , {{HTMLElement("track")}}, 和 {{HTMLElement("video")}}。</p> +全局属性 **`itemprop`**被用于向一个物体中添加属性。每一个 HTML 元素都可以指定一个 itemprop 属性,一个`itemprop`属性由 name-value 对组成。每一个键值对称为一个属性,一个元素可以有一个或者多个属性。属性值可以是一个 string 或者一个 URL,并且可以和大部分元素进行组合,包括{{HTMLElement("audio")}}, {{HTMLElement("embed")}}, {{HTMLElement("iframe")}}, {{HTMLElement("img")}}, {{HTMLElement("link")}}, {{HTMLElement("object")}}, {{HTMLElement("source")}} , {{HTMLElement("track")}}, 和 {{HTMLElement("video")}}。 -<h2 id="样例">样例</h2> +## 样例 -<p>下面的样例展示了一组带有<code>itemprop</code>属性的源代码,后面的表格展示了产生的结构化数据。</p> +下面的样例展示了一组带有`itemprop`属性的源代码,后面的表格展示了产生的结构化数据。 -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush: html">&lt;div itemscope itemtype ="http://schema.org/Movie"&gt; - &lt;h1 <strong>itemprop="name"</strong>&gt;Avatar&lt;/h1&gt; - &lt;span&gt;Director: - &lt;span <strong>itemprop="director"</strong>&gt;James Cameron&lt;/span&gt; - (born August 16, 1954)&lt;/span&gt; - &lt;span <strong>itemprop="genre"</strong>&gt;Science fiction&lt;/span&gt; - &lt;a href="../movies/avatar-theatrical-trailer.html" - <strong>itemprop="trailer"</strong>&gt;Trailer&lt;/a&gt; -&lt;/div&gt;</pre> +```html +<div itemscope itemtype ="http://schema.org/Movie"> + <h1 itemprop="name">Avatar</h1> + <span>Director: + <span itemprop="director">James Cameron</span> + (born August 16, 1954)</span> + <span itemprop="genre">Science fiction</span> + <a href="../movies/avatar-theatrical-trailer.html" + itemprop="trailer">Trailer</a> +</div> +``` -<h3 id="Structured_data">Structured data</h3> +### Structured data <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="2"> </td> - <th colspan="2" rowspan="1">Item</th> - </tr> - <tr> - <th><strong>itemprop name</strong></th> - <th><strong>itemprop value</strong></th> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Avatar</td> - </tr> - <tr> - <td>itemprop</td> - <td>director</td> - <td>James Cameron</td> - </tr> - <tr> - <td>itemprop</td> - <td>genre</td> - <td>Science fiction</td> - </tr> - <tr> - <td>itemprop</td> - <td>trailer</td> - <td>../movies/avatar-theatrical-trailer.html</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="2"></td> + <th colspan="2" rowspan="1">Item</th> + </tr> + <tr> + <th><strong>itemprop name</strong></th> + <th><strong>itemprop value</strong></th> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Avatar</td> + </tr> + <tr> + <td>itemprop</td> + <td>director</td> + <td>James Cameron</td> + </tr> + <tr> + <td>itemprop</td> + <td>genre</td> + <td>Science fiction</td> + </tr> + <tr> + <td>itemprop</td> + <td>trailer</td> + <td>../movies/avatar-theatrical-trailer.html</td> + </tr> + </tbody> </table> -<h2 id="属性">属性</h2> +## 属性 -<p>属性拥有的值可能是字符串又或者是 URL。当一个字符串值是一个 URL 的时候,它被用 {{HTMLElement("a")}} 及它的属性值 {{htmlattrxref("href", "a")}} 、{{HTMLElement("img")}} 及它的属性值 {{htmlattrxref("src", "img")}} 、或者其它被链接到或嵌入外部的资源的元素来表述。</p> +属性拥有的值可能是字符串又或者是 URL。当一个字符串值是一个 URL 的时候,它被用 {{HTMLElement("a")}} 及它的属性值 {{htmlattrxref("href", "a")}} 、{{HTMLElement("img")}} 及它的属性值 {{htmlattrxref("src", "img")}} 、或者其它被链接到或嵌入外部的资源的元素来表述。 -<h3 id="Three_properties_with_values_that_are_strings">Three properties with values that are strings</h3> +### Three properties with values that are strings -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p&gt;My name is - &lt;span itemprop="name"&gt;Neil&lt;/span&gt;.&lt;/p&gt; - &lt;p&gt;My band is called - &lt;span itemprop="band"&gt;Four Parts Water&lt;/span&gt;.&lt;/p&gt; - &lt;p&gt;I am - &lt;span itemprop="nationality"&gt;British&lt;/span&gt;.&lt;/p&gt; -&lt;/div&gt;</pre> +```html +<div itemscope> + <p>My name is + <span itemprop="name">Neil</span>.</p> + <p>My band is called + <span itemprop="band">Four Parts Water</span>.</p> + <p>I am + <span itemprop="nationality">British</span>.</p> +</div> +``` -<h3 id="One_property_image_whose_value_is_a_URL">One property, "image", whose value is a URL</h3> +### One property, "image", whose value is a URL -<pre class="brush: html">&lt;div itemscope&gt; - &lt;img itemprop="image" - src="google-logo.png" alt="Google"&gt; -&lt;/div&gt;</pre> +```html +<div itemscope> + <img itemprop="image" + src="google-logo.png" alt="Google"> +</div> +``` -<p>当一个字符串值不能令人通俗易懂的时候(e.g.,一个长串的数字和字母),它能被用 data 元素的 value 属性表示,用所给元素内容的更易懂的版本(它不是结构化数据的一部分 - 请看下面的例子)。</p> +当一个字符串值不能令人通俗易懂的时候(e.g.,一个长串的数字和字母),它能被用 data 元素的 value 属性表示,用所给元素内容的更易懂的版本(它不是结构化数据的一部分 - 请看下面的例子)。 -<h3 id="An_item_with_a_property_whose_value_is_a_product_ID">An item with a property whose value is a product ID</h3> +### An item with a property whose value is a product ID -<p>ID 不是人性化的,所以产品的名字是用的人所能看懂的文字而不是 ID。</p> +ID 不是人性化的,所以产品的名字是用的人所能看懂的文字而不是 ID。 -<pre class="brush: html">&lt;h1 itemscope&gt; - &lt;data itemprop="product-id" - value="9678AOU879"&gt;The Instigator 2000&lt;/data&gt; -&lt;/h1&gt;</pre> +```html +<h1 itemscope> + <data itemprop="product-id" + value="9678AOU879">The Instigator 2000</data> +</h1> +``` -<p>对于数字数据,meter 元素及它的 value 属性值能够被用来表述。</p> +对于数字数据,meter 元素及它的 value 属性值能够被用来表述。 -<h3 id="A_meter_element">A meter element</h3> +### A meter element -<pre class="brush: html">&lt;div itemscope itemtype="http://schema.org/Product"&gt; - &lt;span itemprop="name"&gt;Panasonic White - 60L Refrigerator&lt;/span&gt; - &lt;img src="panasonic-fridge-60l-white.jpg" alt=""&gt; - &lt;div itemprop="aggregateRating" +```html +<div itemscope itemtype="http://schema.org/Product"> + <span itemprop="name">Panasonic White + 60L Refrigerator</span> + <img src="panasonic-fridge-60l-white.jpg" alt=""> + <div itemprop="aggregateRating" itemscope - itemtype="http://schema.org/AggregateRating"&gt; - &lt;meter itemprop="ratingValue" - min=0 value=3.5 max=5&gt;Rated 3.5/5&lt;/meter&gt; - (based on &lt;span - itemprop="reviewCount"&gt;11&lt;/span&gt; + itemtype="http://schema.org/AggregateRating"> + <meter itemprop="ratingValue" + min=0 value=3.5 max=5>Rated 3.5/5</meter> + (based on <span + itemprop="reviewCount">11</span> customer reviews) - &lt;/div&gt; -&lt;/div&gt;</pre> + </div> +</div> +``` -<p>与此相类似的,对于日期时间相关的数据,time 元素和他的 datetime 属性值能够被使用表示。</p> +与此相类似的,对于日期时间相关的数据,time 元素和他的 datetime 属性值能够被使用表示。 -<h3 id="An_item_with_one_property_birthday_whose_value_is_a_date">An item with one property, "birthday", whose value is a date</h3> +### An item with one property, "birthday", whose value is a date -<pre class="brush: html">&lt;div itemscope&gt; - I was born on &lt;time +```html +<div itemscope> + I was born on <time itemprop="birthday" - datetime="2009-05-10"&gt;May 10th 2009&lt;/time&gt;. -&lt;/div&gt;</pre> + datetime="2009-05-10">May 10th 2009</time>. +</div> +``` -<p>通过把元素上的 itemscope 属性中声明属性,属性也可以是一个组 name-values 对。每个值既可以是一个字符串又可以是一组 name-values 对(i.e. 一个项)。</p> +通过把元素上的 itemscope 属性中声明属性,属性也可以是一个组 name-values 对。每个值既可以是一个字符串又可以是一组 name-values 对(i.e. 一个项)。 -<h3 id="An_outer_item_representing_a_person_and_an_inner_one_representing_a_band">An outer item representing a person, and an inner one representing a band</h3> +### An outer item representing a person, and an inner one representing a band -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p&gt;Name: - &lt;span itemprop="name"&gt;Amanda&lt;/span&gt;&lt;/p&gt; - &lt;p&gt;Band: - &lt;span itemprop="band" itemscope&gt; - &lt;span itemprop="name"&gt;Jazz Band&lt;/span&gt; - (&lt;span itemprop="size"&gt;12&lt;/span&gt; - players)&lt;/span&gt;&lt;/p&gt; -&lt;/div&gt;</pre> +```html +<div itemscope> + <p>Name: + <span itemprop="name">Amanda</span></p> + <p>Band: + <span itemprop="band" itemscope> + <span itemprop="name">Jazz Band</span> + (<span itemprop="size">12</span> + players)</span></p> +</div> +``` -<p>上面的外层项有两个属性,“name” 和 “band”。“name” 的值是 “Amanda”, “band” 的值是一个在它右侧的项决定的,它有两个属性,“name” 和 “size”。乐队的 “name” 的值是 “Jazz Band”,“size” 的值是 “12”。这个例子的外层项是顶级微数据标签。不是其他项的项被称为顶级微数据项。</p> +上面的外层项有两个属性,“name” 和 “band”。“name” 的值是 “Amanda”, “band” 的值是一个在它右侧的项决定的,它有两个属性,“name” 和 “size”。乐队的 “name” 的值是 “Jazz Band”,“size” 的值是 “12”。这个例子的外层项是顶级微数据标签。不是其他项的项被称为顶级微数据项。 -<h3 id="All_the_properties_separated_from_their_items">All the properties separated from their items</h3> +### All the properties separated from their items -<p>这个样例和之前一个一摸一样,但是所有的属性都被从它们的项中分离了出来。</p> +这个样例和之前一个一摸一样,但是所有的属性都被从它们的项中分离了出来。 -<pre class="brush: html">&lt;div itemscope id="amanda" itemref="a b"&gt;&lt;/div&gt; -&lt;p id="a"&gt;Name: - &lt;span itemprop="name"&gt;Amanda&lt;/span&gt;&lt;/p&gt; -&lt;div id="b" +```html +<div itemscope id="amanda" itemref="a b"></div> +<p id="a">Name: + <span itemprop="name">Amanda</span></p> +<div id="b" itemprop="band" - itemscope itemref="c"&gt;&lt;/div&gt; -&lt;div id="c"&gt; - &lt;p&gt;Band: - &lt;span itemprop="name"&gt;Jazz Band&lt;/span&gt;&lt;/p&gt; - &lt;p&gt;Size: - &lt;span itemprop="size"&gt;12&lt;/span&gt; players&lt;/p&gt; -&lt;/div&gt;</pre> + itemscope itemref="c"></div> +<div id="c"> + <p>Band: + <span itemprop="name">Jazz Band</span></p> + <p>Size: + <span itemprop="size">12</span> players</p> +</div> +``` -<p>这产生了和之前样例相同的结果。第一个项有两个属性,“name“,设置为“Amanda”和“band”,设置到另一个项去了。第二个项有两个更进一步的属性,“name”设置为“Jazz Band”并且“size”设置为“12”。</p> +这产生了和之前样例相同的结果。第一个项有两个属性,“name“,设置为“Amanda”和“band”,设置到另一个项去了。第二个项有两个更进一步的属性,“name”设置为“Jazz Band”并且“size”设置为“12”。 -<p>一个项可以有多个拥有相同名字但是值不同的属性。</p> +一个项可以有多个拥有相同名字但是值不同的属性。 -<h3 id="Ice_cream_with_two_flavors">Ice cream with two flavors</h3> +### Ice cream with two flavors -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p&gt;Flavors in my favorite ice cream:&lt;/p&gt; - &lt;ul&gt; - &lt;li itemprop="flavor"&gt;Lemon sorbet&lt;/li&gt; - &lt;li itemprop="flavor"&gt;Apricot sorbet&lt;/li&gt; - &lt;/ul&gt; -&lt;/div&gt;</pre> +```html +<div itemscope> + <p>Flavors in my favorite ice cream:</p> + <ul> + <li itemprop="flavor">Lemon sorbet</li> + <li itemprop="flavor">Apricot sorbet</li> + </ul> +</div> +``` -<p>这产生了一个物体有两个属性,都拥有名字 "flavor" 但是却有不同的值 "Lemon sorbet" 和 "Apricot sorbet"。</p> +这产生了一个物体有两个属性,都拥有名字 "flavor" 但是却有不同的值 "Lemon sorbet" 和 "Apricot sorbet"。 -<p>为了当一些属性有相同值的时候避免重复,一个介绍一个属性的元素同样可以一次性介绍多个属性。</p> +为了当一些属性有相同值的时候避免重复,一个介绍一个属性的元素同样可以一次性介绍多个属性。 -<h3 id="An_item_with_two_properties_favorite-color_and_favorite-fruit_both_set_to_the_value_orange">An item with two properties, "favorite-color" and "favorite-fruit", both set to the value "orange"</h3> +### An item with two properties, "favorite-color" and "favorite-fruit", both set to the value "orange" -<pre class="brush: html">&lt;div itemscope&gt; - &lt;span +```html +<div itemscope> + <span itemprop="favorite-color - favorite-fruit"&gt;orange&lt;/span&gt; -&lt;/div&gt;</pre> - -<div class="note"> -<p>注意:微数据和被标记微数据的文档的内容之间是没有关系的。</p> + favorite-fruit">orange</span> </div> +``` + +> **备注:** 微数据和被标记微数据的文档的内容之间是没有关系的。 -<h3 id="Same_structured_data_marked_up_in_two_different_ways">Same structured data marked up in two different ways</h3> +### Same structured data marked up in two different ways -<p>语义上下面的两个样例没有任何区别。</p> +语义上下面的两个样例没有任何区别。 -<pre class="brush: html">&lt;figure&gt; - &lt;img src="castle.jpeg"&gt; - &lt;figcaption&gt;&lt;span - itemscope&gt;&lt;span - itemprop="name"&gt;The Castle&lt;/span&gt;&lt;/span&gt; - (1986)&lt;/figcaption&gt; -&lt;/figure&gt;</pre> +```html +<figure> + <img src="castle.jpeg"> + <figcaption><span + itemscope><span + itemprop="name">The Castle</span></span> + (1986)</figcaption> +</figure> +``` -<pre class="brush: html">&lt;span itemscope&gt;&lt;meta +```html +<span itemscope><meta itemprop="name" - content="The Castle"&gt;&lt;/span&gt; -&lt;figure&gt; - &lt;img src="castle.jpeg"&gt; - &lt;figcaption&gt;The Castle - (1986)&lt;/figcaption&gt; -&lt;/figure&gt;</pre> + content="The Castle"></span> +<figure> + <img src="castle.jpeg"> + <figcaption>The Castle + (1986)</figcaption> +</figure> +``` -<p>两者都是拥有标题的图,并且都同时, 和图完全无关地,有一个 名字是 "name" 并且值是"The Castle"的键值对的物体项。唯一的区别是如果用户把图片标题拖拽出文档的话,这个项会包含在拖拽的数据中。图像相关的项不会被包括。</p> +两者都是拥有标题的图,并且都同时, 和图完全无关地,有一个 名字是 "name" 并且值是"The Castle"的键值对的物体项。唯一的区别是如果用户把图片标题拖拽出文档的话,这个项会包含在拖拽的数据中。图像相关的项不会被包括。 -<h2 id="名字和值">名字和值</h2> +## 名字和值 -<p>一个属性是一个大小写敏感且展示键值对的包含唯一序列的无序集合。属性的值必须有至少一个序列。下面的这个样例中,每个数据格子都是一个序列。</p> +一个属性是一个大小写敏感且展示键值对的包含唯一序列的无序集合。属性的值必须有至少一个序列。下面的这个样例中,每个数据格子都是一个序列。 -<h3 id="Names_examples">Names examples</h3> +### Names examples <table class="standard-table"> - <thead> - <tr> - <th colspan="1" rowspan="2" scope="col"> </th> - <th colspan="2" rowspan="1" scope="col">Item</th> - </tr> - <tr> - <th scope="col">itemprop <strong>name</strong></th> - <th scope="col">itemprop <strong>value</strong></th> - </tr> - </thead> - <tbody> - <tr> - <th>itemprop</th> - <td>country</td> - <td>Ireland</td> - </tr> - <tr> - <th>itemprop</th> - <td>Option</td> - <td>2</td> - </tr> - <tr> - <th>itemprop</th> - <td>https://www.flickr.com/photos/nlireland/6992065114/</td> - <td>Ring of Kerry</td> - </tr> - <tr> - <th>itemprop</th> - <td>img</td> - <td>https://www.flickr.com/photos/nlireland/6992065114/</td> - </tr> - <tr> - <th>itemprop</th> - <td>website</td> - <td>flickr</td> - </tr> - <tr> - <th>itemprop</th> - <td>(token)</td> - <td>(token)</td> - </tr> - </tbody> + <thead> + <tr> + <th colspan="1" rowspan="2" scope="col"></th> + <th colspan="2" rowspan="1" scope="col">Item</th> + </tr> + <tr> + <th scope="col">itemprop <strong>name</strong></th> + <th scope="col">itemprop <strong>value</strong></th> + </tr> + </thead> + <tbody> + <tr> + <th>itemprop</th> + <td>country</td> + <td>Ireland</td> + </tr> + <tr> + <th>itemprop</th> + <td>Option</td> + <td>2</td> + </tr> + <tr> + <th>itemprop</th> + <td>https://www.flickr.com/photos/nlireland/6992065114/</td> + <td>Ring of Kerry</td> + </tr> + <tr> + <th>itemprop</th> + <td>img</td> + <td>https://www.flickr.com/photos/nlireland/6992065114/</td> + </tr> + <tr> + <th>itemprop</th> + <td>website</td> + <td>flickr</td> + </tr> + <tr> + <th>itemprop</th> + <td>(token)</td> + <td>(token)</td> + </tr> + </tbody> </table> -<p><strong>序列</strong>既可以是字符串也可以是 URL。如果是一个 URL,那么这个项被称为<strong>类型项</strong>。否则它是一个字符串。字符串不能包括句号和冒号(如下)。</p> - -<ol> - <li>如果项是一个类型项它必须满足: - <ol> - <li>是一个被定义的属性名</li> - <li>一个合法的指向语法定义的 URL</li> - <li>一个合法的被用来当作所有权项属性名的 URL</li> - </ol> - </li> - <li>如果一个项不是类型项,他必须: - <ol> - <li>一个不含 "<strong>.</strong>" (U+002E 句号) 和 "<strong>:</strong>" (U+003A 冒号) 并且被用作一个所有权项的属性名(没有公共规范定义的)</li> - </ol> - </li> -</ol> - -<p><strong>注意:</strong> 上面的规则不允许 ":" 在没有 URL 的值中 是因为否则它们没法和 URL 作区分。带有"." 的值被保留作为将来可能的拓展。 空格也不被允许是因为否则值就会被解析为多个序列。</p> - -<h2 id="值">值</h2> - -<p>The property value of a name-value pair is as given for the first matching case in the following list:</p> - -<ul> - <li>If the element has an <strong>itemscope </strong>attribute - - <ul> - <li>The value is the <strong>item </strong>created by the element.</li> - </ul> - </li> - <li>If the element is a <strong>meta </strong>element - <ul> - <li>The value is the value of the element's <strong>content </strong>attribute</li> - </ul> - </li> - <li>If the element is an <strong>audio</strong>, <strong>embed</strong>, <strong>iframe</strong>, <strong>img</strong>, <strong>source</strong>, <strong>track</strong>, or <strong>video </strong>element - <ul> - <li>The value is the resulting URL string that results from parsing the value of the element's src attribute relative to the node document (part of the <a href="/en-US/docs/Web/API/Microdata_DOM_API">Microdata DOM API</a>) of the element at the time the attribute is set</li> - </ul> - </li> - <li>If the element is an <strong>a</strong>, <strong>area</strong>, or <strong>link </strong>element - <ul> - <li>The value is the resulting URL string that results from parsing the value of the element's href attribute relative to the node document of the element at the time the attribute is set</li> - </ul> - </li> - <li>If the element is an <strong>object </strong>element - <ul> - <li>The value is the resulting URL string that results from parsing the value of the element's data attribute relative to the node document of the element at the time the attribute is set</li> - </ul> - </li> - <li>If the element is a <strong>data </strong>element - <ul> - <li>The value is the value of the element's value attribute</li> - </ul> - </li> - <li>If the element is a <strong>meter </strong>element - <ul> - <li>The value is the value of the element's <strong>value </strong>attribute</li> - </ul> - </li> - <li>If the element is a <strong>time </strong>element - <ul> - <li>The value is the element's <strong>datetime </strong>value</li> - </ul> - </li> -</ul> - -<p>Otherwise</p> - -<ul> - <li>The value is the element's <strong>textContent</strong>.</li> -</ul> - -<p>If a property's value is a<strong> URL</strong>, the property must be specified using a URL property element. The URL property elements are the <strong>a</strong>, <strong>area</strong>, <strong>audio</strong>, <strong>embed</strong>, <strong>iframe</strong>, <strong>img</strong>, <strong>link</strong>, <strong>object</strong>, <strong>source</strong>, <strong>track</strong>, and <strong>video </strong>elements.</p> - -<h3 id="Name_order">Name order</h3> - -<p>Names are unordered relative to each other, but if a particular name has multiple values, they do have a relative order.</p> - -<h4 id="In_the_following_example_the_a_property_has_the_values_1_and_2_in_that_order_but_whether_the_a_property_comes_before_the_b_property_or_not_is_not_important">In the following example, the "a" property has the values "1" and "2", <em>in that order</em>, but whether the "a" property comes before the "b" property or not is not important</h4> - -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p itemprop="a"&gt;1&lt;/p&gt; - &lt;p itemprop="a"&gt;2&lt;/p&gt; - &lt;p itemprop="b"&gt;test&lt;/p&gt; -&lt;/div&gt;</pre> - -<h4 id="The_following_is_equivalent">The following is equivalent</h4> - -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p itemprop="b"&gt;test&lt;/p&gt; - &lt;p itemprop="a"&gt;1&lt;/p&gt; - &lt;p itemprop="a"&gt;2&lt;/p&gt; -&lt;/div&gt;</pre> - -<h4 id="As_is_the_following">As is the following</h4> - -<pre class="brush: html">&lt;div itemscope&gt; - &lt;p itemprop="a"&gt;1&lt;/p&gt; - &lt;p itemprop="b"&gt;test&lt;/p&gt; - &lt;p itemprop="a"&gt;2&lt;/p&gt; -&lt;/div&gt;</pre> - -<h4 id="And_the_following">And the following</h4> - -<pre class="brush: html">&lt;div id="x"&gt; - &lt;p itemprop="a"&gt;1&lt;/p&gt; -&lt;/div&gt; -&lt;div itemscope itemref="x"&gt; - &lt;p itemprop="b"&gt;test&lt;/p&gt; - &lt;p itemprop="a"&gt;2&lt;/p&gt; -&lt;/div&gt; -</pre> - -<h2 id="其他样例">其他样例</h2> - -<h3 id="HTML_2">HTML</h3> - -<pre class="brush: html">&lt;dl itemscope +**序列**既可以是字符串也可以是 URL。如果是一个 URL,那么这个项被称为**类型项**。否则它是一个字符串。字符串不能包括句号和冒号(如下)。 + +1. 如果项是一个类型项它必须满足: + + 1. 是一个被定义的属性名 + 2. 一个合法的指向语法定义的 URL + 3. 一个合法的被用来当作所有权项属性名的 URL + +2. 如果一个项不是类型项,他必须: + + 1. 一个不含 "**.**" (U+002E 句号) 和 "**:**" (U+003A 冒号) 并且被用作一个所有权项的属性名(没有公共规范定义的) + +**注意:** 上面的规则不允许 ":" 在没有 URL 的值中 是因为否则它们没法和 URL 作区分。带有"." 的值被保留作为将来可能的拓展。 空格也不被允许是因为否则值就会被解析为多个序列。 + +## 值 + +The property value of a name-value pair is as given for the first matching case in the following list: + +- If the element has an **itemscope** attribute + + - The value is the **item** created by the element. + +- If the element is a **meta** element + + - The value is the value of the element's **content** attribute + +- If the element is an **audio**, **embed**, **iframe**, **img**, **source**, **track**, or **video** element + + - The value is the resulting URL string that results from parsing the value of the element's src attribute relative to the node document (part of the [Microdata DOM API](/zh-CN/docs/Web/API/Microdata_DOM_API)) of the element at the time the attribute is set + +- If the element is an **a**, **area**, or **link** element + + - The value is the resulting URL string that results from parsing the value of the element's href attribute relative to the node document of the element at the time the attribute is set + +- If the element is an **object** element + + - The value is the resulting URL string that results from parsing the value of the element's data attribute relative to the node document of the element at the time the attribute is set + +- If the element is a **data** element + + - The value is the value of the element's value attribute + +- If the element is a **meter** element + + - The value is the value of the element's **value** attribute + +- If the element is a **time** element + + - The value is the element's **datetime** value + +Otherwise + +- The value is the element's **textContent**. + +If a property's value is a **URL**, the property must be specified using a URL property element. The URL property elements are the **a**, **area**, **audio**, **embed**, **iframe**, **img**, **link**, **object**, **source**, **track**, and **video** elements. + +### Name order + +Names are unordered relative to each other, but if a particular name has multiple values, they do have a relative order. + +#### In the following example, the "a" property has the values "1" and "2", _in that order_, but whether the "a" property comes before the "b" property or not is not important + +```html +<div itemscope> + <p itemprop="a">1</p> + <p itemprop="a">2</p> + <p itemprop="b">test</p> +</div> +``` + +#### The following is equivalent + +```html +<div itemscope> + <p itemprop="b">test</p> + <p itemprop="a">1</p> + <p itemprop="a">2</p> +</div> +``` + +#### As is the following + +```html +<div itemscope> + <p itemprop="a">1</p> + <p itemprop="b">test</p> + <p itemprop="a">2</p> +</div> +``` + +#### And the following + +```html +<div id="x"> + <p itemprop="a">1</p> +</div> +<div itemscope itemref="x"> + <p itemprop="b">test</p> + <p itemprop="a">2</p> +</div> +``` + +## 其他样例 + +### HTML + +```html +<dl itemscope itemtype="http://vocab.example.net/book" - itemid="urn:isbn:0-330-34032-8"&gt; - &lt;dt&gt;Title - &lt;dd - itemprop="title"&gt;The Reality Dysfunction - &lt;dt&gt;Author - &lt;dd - itemprop="author"&gt;Peter F. Hamilton - &lt;dt&gt;Publication date - &lt;dd&gt;&lt;time + itemid="urn:isbn:0-330-34032-8"> + <dt>Title + <dd + itemprop="title">The Reality Dysfunction + <dt>Author + <dd + itemprop="author">Peter F. Hamilton + <dt>Publication date + <dd><time itemprop="pubdate" - datetime="1996-01-26"&gt;26 January 1996&lt;/time&gt; -&lt;/dl&gt; -</pre> + datetime="1996-01-26">26 January 1996</time> +</dl> +``` -<h3 id="Structured_data_2">Structured data</h3> +### Structured data <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="14">itemscope</td> - <td>itemtype: itemid</td> - <td colspan="2" rowspan="1">http://vocab.example.net/book: urn:isbn:0-330-34032-8</td> - </tr> - <tr> - <td>itemprop</td> - <td>title</td> - <td>The Reality Dysfunction</td> - </tr> - <tr> - <td>itemprop</td> - <td>author</td> - <td>Peter F. Hamilton</td> - </tr> - <tr> - <td>itemprop</td> - <td>pubdate</td> - <td>1996-01-26</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="14">itemscope</td> + <td>itemtype: itemid</td> + <td colspan="2" rowspan="1"> + http://vocab.example.net/book: urn:isbn:0-330-34032-8 + </td> + </tr> + <tr> + <td>itemprop</td> + <td>title</td> + <td>The Reality Dysfunction</td> + </tr> + <tr> + <td>itemprop</td> + <td>author</td> + <td>Peter F. Hamilton</td> + </tr> + <tr> + <td>itemprop</td> + <td>pubdate</td> + <td>1996-01-26</td> + </tr> + </tbody> </table> -<h3 id="Result">Result</h3> +### Result -<p>{{EmbedLiveSample('HTML_2', '', '', '', 'Web/HTML/Global_attributes/itemprop')}}</p> +{{EmbedLiveSample('HTML_2', '', '', '', 'Web/HTML/Global_attributes/itemprop')}} -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="查看其他">查看其他</h2> - -<ul> - <li><a href="/en-US/docs/Web/HTML/Global_attributes">其他不同的全局属性</a></li> - <li>其他,微数据相关的全局属性: - <ul> - <li>{{htmlattrxref("itemid")}}</li> - <li>{{htmlattrxref("itemprop")}}</li> - <li>{{htmlattrxref("itemref")}}</li> - <li>{{htmlattrxref("itemscope")}}</li> - <li>{{htmlattrxref("itemtype")}}</li> - </ul> - </li> -</ul> -</div> -</div> +## 查看其他 + +- [其他不同的全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 其他,微数据相关的全局属性: + + - {{htmlattrxref("itemid")}} + - {{htmlattrxref("itemprop")}} + - {{htmlattrxref("itemref")}} + - {{htmlattrxref("itemscope")}} + - {{htmlattrxref("itemtype")}} diff --git a/files/zh-cn/web/html/global_attributes/itemref/index.md b/files/zh-cn/web/html/global_attributes/itemref/index.md index 7037822f650d1a..d7a955afbf4551 100644 --- a/files/zh-cn/web/html/global_attributes/itemref/index.md +++ b/files/zh-cn/web/html/global_attributes/itemref/index.md @@ -3,104 +3,101 @@ title: itemref slug: Web/HTML/Global_attributes/itemref translation_of: Web/HTML/Global_attributes/itemref --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong><code>itemref</code></strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 不具有 <code>itemscope</code> 属性的元素的后代,才可以与具有 <code><strong>itemref</strong></code> 的元素关联。<code>itemref</code> 提供了元素 id(并不是 <code>itemid</code>)的列表,并具有文档其它地方的额外属性。</p> +**`itemref`** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 不具有 `itemscope` 属性的元素的后代,才可以与具有 **`itemref`** 的元素关联。`itemref` 提供了元素 id(并不是 `itemid`)的列表,并具有文档其它地方的额外属性。 -<p><code>itemref</code> 属性只能在指定了 <code>itemscope</code> 的元素上指定。</p> +`itemref` 属性只能在指定了 `itemscope` 的元素上指定。 -<p><strong>注:</strong><code>itemref</code> 属性并不是 microdata 数据模型的一部分。它仅仅是个语义结构,用于帮助作者向页面添加注解,其中被注解的数据不遵循便利的树结构。例如,它允许作者标记表格中的数据,以便每一列定义一个单独的条目,同时在表格中保留属性。</p> +**注:**`itemref` 属性并不是 microdata 数据模型的一部分。它仅仅是个语义结构,用于帮助作者向页面添加注解,其中被注解的数据不遵循便利的树结构。例如,它允许作者标记表格中的数据,以便每一列定义一个单独的条目,同时在表格中保留属性。 -<h2 id="示例">示例</h2> +## 示例 -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush: html">&lt;div itemscope id="amanda" itemref="a b"&gt;&lt;/div&gt; -&lt;p id="a"&gt;Name: &lt;span itemprop="name"&gt;Amanda&lt;/span&gt; &lt;/p&gt; -&lt;div id="b" itemprop="band" itemscope itemref="c"&gt;&lt;/div&gt; -&lt;div id="c"&gt; - &lt;p&gt;Band: &lt;span itemprop="name"&gt;Jazz Band&lt;/span&gt; &lt;/p&gt; - &lt;p&gt;Size: &lt;span itemprop="size"&gt;12&lt;/span&gt; players&lt;/p&gt; -&lt;/div&gt; -</pre> +```html +<div itemscope id="amanda" itemref="a b"></div> +<p id="a">Name: <span itemprop="name">Amanda</span> </p> +<div id="b" itemprop="band" itemscope itemref="c"></div> +<div id="c"> + <p>Band: <span itemprop="name">Jazz Band</span> </p> + <p>Size: <span itemprop="size">12</span> players</p> +</div> +``` -<h3 id="结构化数据">结构化数据</h3> +### 结构化数据 <table class="standard-table"> - <tbody> - <tr> - <th>id's</th> - <th>itemscope</th> - <th>itemref</th> - <th></th> - <th>(itemprop name)</th> - <th>(itemprop value)</th> - </tr> - <tr> - <td>id=amanda</td> - <td>itemscope</td> - <td>itemref=a,b</td> - <td></td> - <td></td> - <td></td> - </tr> - <tr> - <td>id=a</td> - <td></td> - <td></td> - <td>itemprop</td> - <td>name</td> - <td>Amanda</td> - </tr> - <tr> - <td>id=b</td> - <td>itemscope</td> - <td>itemref=c</td> - <td></td> - <td>band</td> - <td></td> - </tr> - <tr> - <td colspan="1" rowspan="2">id=c</td> - <td></td> - <td></td> - <td>itemprop</td> - <td>Band</td> - <td>Jazz Band</td> - </tr> - <tr> - <td></td> - <td></td> - <td>itemprop</td> - <td>Size</td> - <td>12</td> - </tr> - </tbody> + <tbody> + <tr> + <th>id's</th> + <th>itemscope</th> + <th>itemref</th> + <th></th> + <th>(itemprop name)</th> + <th>(itemprop value)</th> + </tr> + <tr> + <td>id=amanda</td> + <td>itemscope</td> + <td>itemref=a,b</td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td>id=a</td> + <td></td> + <td></td> + <td>itemprop</td> + <td>name</td> + <td>Amanda</td> + </tr> + <tr> + <td>id=b</td> + <td>itemscope</td> + <td>itemref=c</td> + <td></td> + <td>band</td> + <td></td> + </tr> + <tr> + <td colspan="1" rowspan="2">id=c</td> + <td></td> + <td></td> + <td>itemprop</td> + <td>Band</td> + <td>Jazz Band</td> + </tr> + <tr> + <td></td> + <td></td> + <td>itemprop</td> + <td>Size</td> + <td>12</td> + </tr> + </tbody> </table> -<h3 id="结果">结果</h3> +### 结果 -<p>{{EmbedLiveSample('Example', '', '', '', 'Web/HTML/Global_attributes/itemref')}}</p> +{{EmbedLiveSample('Example', '', '', '', 'Web/HTML/Global_attributes/itemref')}} -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="参阅">参阅</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes">其它不同的全局属性</a></li> - <li>其它 microdata 相关的全局属性 - <ul> - <li>{{htmlattrxref("itemid")}}</li> - <li>{{htmlattrxref("itemprop")}}</li> - <li>{{htmlattrxref("itemref")}}</li> - <li>{{htmlattrxref("itemscope")}}</li> - <li>{{htmlattrxref("itemtype")}}</li> - </ul> - </li> -</ul> +## 参阅 + +- [其它不同的全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 其它 microdata 相关的全局属性 + + - {{htmlattrxref("itemid")}} + - {{htmlattrxref("itemprop")}} + - {{htmlattrxref("itemref")}} + - {{htmlattrxref("itemscope")}} + - {{htmlattrxref("itemtype")}} diff --git a/files/zh-cn/web/html/global_attributes/itemscope/index.md b/files/zh-cn/web/html/global_attributes/itemscope/index.md index ab2e543b03fbc4..9015ad9d782ce0 100644 --- a/files/zh-cn/web/html/global_attributes/itemscope/index.md +++ b/files/zh-cn/web/html/global_attributes/itemscope/index.md @@ -3,258 +3,257 @@ title: itemscope slug: Web/HTML/Global_attributes/itemscope translation_of: Web/HTML/Global_attributes/itemscope --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><code><strong>itemscope</strong></code> 是一个布尔值的 <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 。它定义了一个与元数据关联的数据项。就是说一个元素的 <code><strong>itemscope</strong></code> 属性会创建一个项,包含了一组与元素相关的键值对。 相关的属性 {{htmlattrxref("itemtype")}} 通常表示表中一个有效的 URL(比如 <a href="http://schema.org/">schema.org</a>) 来表述项目和上下文。下面每个例子中的概念表都来自 <a href="https://schema.org/">schema.org</a>.</p> +**`itemscope`** 是一个布尔值的 [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 。它定义了一个与元数据关联的数据项。就是说一个元素的 **`itemscope`** 属性会创建一个项,包含了一组与元素相关的键值对。 相关的属性 {{htmlattrxref("itemtype")}} 通常表示表中一个有效的 URL(比如 [schema.org](http://schema.org/)) 来表述项目和上下文。下面每个例子中的概念表都来自 [schema.org](https://schema.org/). -<p>每个 HTML 元素都可以有指定的 <code>itemscope</code> 属性。一个具有 <code>itemscope</code> 属性的元素可以没有关联的 <code>itemtype</code> ,但必须有相关的 <code>itemref</code>。</p> +每个 HTML 元素都可以有指定的 `itemscope` 属性。一个具有 `itemscope` 属性的元素可以没有关联的 `itemtype` ,但必须有相关的 `itemref`。 -<div class="note"> -<p><strong>译者注:</strong> Schema.org 提供了一份共享的词汇表,站长可以使用它来标记网页,而这些标记则被主要的搜索引擎: Google, Microsoft, Yandex 和 Yahoo!所支持。</p> -</div> +> **备注:** Schema.org 提供了一份共享的词汇表,站长可以使用它来标记网页,而这些标记则被主要的搜索引擎: Google, Microsoft, Yandex 和 Yahoo!所支持。 -<div class="note"> -<p><strong>提示:</strong> 获取更多关于 <code>itemtype</code> 属性的信息: <a href="http://schema.org/Thing">http://schema.org/Thing</a></p> -</div> +> **备注:** 获取更多关于 `itemtype` 属性的信息: <http://schema.org/Thing> -<h3 id="简单示例">简单示例</h3> +### 简单示例 -<h4 id="HTML">HTML</h4> +#### HTML -<p>下面一个例子指定的 <code>itemscope</code> 属性,设置了 <code>itemtype</code> 为 "http://schema.org/Movie", 并且有 3 个关联的 <code>itemprop</code> 属性(name、director、genre)。</p> +下面一个例子指定的 `itemscope` 属性,设置了 `itemtype` 为 "http\://schema.org/Movie", 并且有 3 个关联的 `itemprop` 属性(name、director、genre)。 -<pre class="brush:html">&lt;div itemscope itemtype ="http://schema.org/Movie"&gt; - &lt;h1 itemprop="name"&gt;Avatar&lt;/h1&gt; - &lt;span&gt;Director: &lt;span itemprop="director"&gt;James Cameron&lt;/span&gt; (born August 16, 1954)&lt;/span&gt; - &lt;span itemprop="genre"&gt;Science fiction&lt;/span&gt; - &lt;a href="https://youtu.be/0AY1XIkX7bY" itemprop="trailer"&gt;Trailer&lt;/a&gt; -&lt;/div&gt; -</pre> +```html +<div itemscope itemtype ="http://schema.org/Movie"> + <h1 itemprop="name">Avatar</h1> + <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span> + <span itemprop="genre">Science fiction</span> + <a href="https://youtu.be/0AY1XIkX7bY" itemprop="trailer">Trailer</a> +</div> +``` -<h4 id="sect1"> </h4> +#### -<h4 id="结构化数据">结构化数据</h4> +#### 结构化数据 -<p>下表展示了上面例子当中的结构化数据。</p> +下表展示了上面例子当中的结构化数据。 <table class="standard-table"> - <tbody> - <tr> - <td rowspan="6">itemscope</td> - <td>Itemtype</td> - <td colspan="2">Movie</td> - </tr> - <tr> - <td>itemprop</td> - <td>(itemprop name)</td> - <td>(itemprop value)</td> - </tr> - <tr> - <td>itemprop</td> - <td>director</td> - <td>James Cameron</td> - </tr> - <tr> - <td>itemprop</td> - <td>genre</td> - <td>Science Fiction</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Avatar</td> - </tr> - <tr> - <td>itemprop</td> - <td>https://youtu.be/0AY1XIkX7bY</td> - <td>Trailer</td> - </tr> - </tbody> + <tbody> + <tr> + <td rowspan="6">itemscope</td> + <td>Itemtype</td> + <td colspan="2">Movie</td> + </tr> + <tr> + <td>itemprop</td> + <td>(itemprop name)</td> + <td>(itemprop value)</td> + </tr> + <tr> + <td>itemprop</td> + <td>director</td> + <td>James Cameron</td> + </tr> + <tr> + <td>itemprop</td> + <td>genre</td> + <td>Science Fiction</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Avatar</td> + </tr> + <tr> + <td>itemprop</td> + <td>https://youtu.be/0AY1XIkX7bY</td> + <td>Trailer</td> + </tr> + </tbody> </table> -<h3 id="itemscope_id_属性"><code>itemscope</code> id 属性</h3> - -<p>当你表述一个元素的 <code>itemscope</code> 属性时,就创建了一个新的数据项。数据项包含了一组键值对。如果一个元素包含了 <code>itemscope</code> 和 <code>itemtype</code> 属性,你同时也就阐述了一个 {{htmlattrxref("id")}} 属性。你可以用 <code>id</code> 属性为数据项设置一个全局的身份识别。这样你就可以通过这个识别与页面中其他的数据进行交互。</p> - -<h3 id="示例">示例</h3> - -<p>下面示例中有 4 个 <code>itemscope</code> 属性。每一个 <code>itemscope</code> 设置了相应的 <code>itemptype</code> 属性。例子中<code>itemtype</code>,<code>Recipe</code>,<code>AggregateRating</code>,以及 <code>NutritionInformation</code> 通过指定了 <code>itemptype</code>,也就是“http://schema.org/Recipe”,也都是 <a href="www.schema.org">schema.org</a> 提供的一个食谱的结构化数据的一部分。</p> - -<pre class="brush: html">&lt;div itemscope itemtype="http://schema.org/Recipe"&gt; -&lt;h2 itemprop="name"&gt;Grandma's Holiday Apple Pie&lt;/h2&gt; -&lt;img itemprop="image" src="https://c1.staticflickr.com/1/30/42759561_8631e2f905_n.jpg" width="50" height="50"/&gt; -&lt;p&gt;By &lt;span itemprop="author" itemscope itemtype="http://schema.org/Person"&gt; -&lt;span itemprop="name"&gt;Carol Smith&lt;/p&gt;&lt;/span&gt; -&lt;/span&gt; -&lt;p&gt;Published: &lt;time datetime="2009-11-05" itemprop="datePublished"&gt; -November 5, 2009&lt;/p&gt;&lt;/time&gt; -&lt;span itemprop="description"&gt;This is my grandmother's apple pie recipe. I like to add a dash of nutmeg.&lt;br&gt;&lt;/span&gt; - &lt;span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"&gt; - &lt;span itemprop="ratingValue"&gt;4.0&lt;/span&gt; stars based on &lt;span itemprop="reviewCount"&gt;35&lt;/span&gt; reviews&lt;br&gt;&lt;/span&gt; -Prep time: &lt;time datetime="PT30M" itemprop="prepTime"&gt;30 min&lt;br&gt;&lt;/time&gt; - Cook time: &lt;time datetime="PT1H" itemprop="cookTime"&gt;1 hour&lt;br&gt;&lt;/time&gt; - Total time: &lt;time datetime="PT1H30M" itemprop="totalTime"&gt;1 hour 30 min&lt;br&gt;&lt;/time&gt; - Yield: &lt;span itemprop="recipeYield"&gt;1 9" pie (8 servings)&lt;br&gt;&lt;/span&gt; - &lt;span itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"&gt; - Serving size: &lt;span itemprop="servingSize"&gt;1 medium slice&lt;br&gt;&lt;/span&gt; - Calories per serving: &lt;span itemprop="calories"&gt;250 cal&lt;br&gt;&lt;/span&gt; - Fat per serving: &lt;span itemprop="fatContent"&gt;12 g&lt;br&gt;&lt;/span&gt; -&lt;/span&gt; -&lt;p&gt;Ingredients:&lt;br&gt; - &lt;span itemprop="recipeIngredient"&gt;Thinly-sliced apples: 6 cups&lt;br&gt;&lt;/span&gt; - &lt;span itemprop="recipeIngredient"&gt;White sugar: 3/4 cup&lt;br&gt;&lt;/span&gt; - ... &lt;/p&gt; - -Directions: &lt;br&gt; - &lt;div itemprop="recipeInstructions"&gt; - 1. Cut and peel apples&lt;br&gt; - 2. Mix sugar and cinnamon. Use additional sugar for tart apples. &lt;br&gt; +### `itemscope` id 属性 + +当你表述一个元素的 `itemscope` 属性时,就创建了一个新的数据项。数据项包含了一组键值对。如果一个元素包含了 `itemscope` 和 `itemtype` 属性,你同时也就阐述了一个 {{htmlattrxref("id")}} 属性。你可以用 `id` 属性为数据项设置一个全局的身份识别。这样你就可以通过这个识别与页面中其他的数据进行交互。 + +### 示例 + +下面示例中有 4 个 `itemscope` 属性。每一个 `itemscope` 设置了相应的 `itemptype` 属性。例子中`itemtype`,`Recipe`,`AggregateRating`,以及 `NutritionInformation` 通过指定了 `itemptype`,也就是“http\://schema.org/Recipe”,也都是 [schema.org](www.schema.org) 提供的一个食谱的结构化数据的一部分。 + +```html +<div itemscope itemtype="http://schema.org/Recipe"> +<h2 itemprop="name">Grandma's Holiday Apple Pie</h2> +<img itemprop="image" src="https://c1.staticflickr.com/1/30/42759561_8631e2f905_n.jpg" width="50" height="50"/> +<p>By <span itemprop="author" itemscope itemtype="http://schema.org/Person"> +<span itemprop="name">Carol Smith</p></span> +</span> +<p>Published: <time datetime="2009-11-05" itemprop="datePublished"> +November 5, 2009</p></time> +<span itemprop="description">This is my grandmother's apple pie recipe. I like to add a dash of nutmeg.<br></span> + <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> + <span itemprop="ratingValue">4.0</span> stars based on <span itemprop="reviewCount">35</span> reviews<br></span> +Prep time: <time datetime="PT30M" itemprop="prepTime">30 min<br></time> + Cook time: <time datetime="PT1H" itemprop="cookTime">1 hour<br></time> + Total time: <time datetime="PT1H30M" itemprop="totalTime">1 hour 30 min<br></time> + Yield: <span itemprop="recipeYield">1 9" pie (8 servings)<br></span> + <span itemprop="nutrition" itemscope itemtype="http://schema.org/NutritionInformation"> + Serving size: <span itemprop="servingSize">1 medium slice<br></span> + Calories per serving: <span itemprop="calories">250 cal<br></span> + Fat per serving: <span itemprop="fatContent">12 g<br></span> +</span> +<p>Ingredients:<br> + <span itemprop="recipeIngredient">Thinly-sliced apples: 6 cups<br></span> + <span itemprop="recipeIngredient">White sugar: 3/4 cup<br></span> + ... </p> + +Directions: <br> + <div itemprop="recipeInstructions"> + 1. Cut and peel apples<br> + 2. Mix sugar and cinnamon. Use additional sugar for tart apples. <br> ... - &lt;/div&gt; -&lt;/div&gt; </pre> + </div> +</div> +``` -<h3 id="结果">结果</h3> +### 结果 -<h4 id="HTML_2">HTML</h4> +#### HTML -<p>下面例子是上述例子的补充:</p> +下面例子是上述例子的补充: -<p>{{EmbedLiveSample('示例', '500', '550', '', 'Web/HTML/Global_attributes/itemscope')}}</p> +{{EmbedLiveSample('示例', '500', '550', '', 'Web/HTML/Global_attributes/itemscope')}} -<h4 id="结构化数据_2">结构化数据</h4> +#### 结构化数据 <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="14">itemscope</td> - <td>itemtype</td> - <td colspan="2" rowspan="1">Recipe</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Grandma's Holiday Apple Pie</td> - </tr> - <tr> - <td>itemprop</td> - <td>image</td> - <td>https://c1.staticflickr.com/1/30/42759561_8631e2f905_n.jpg</td> - </tr> - <tr> - <td>itemprop</td> - <td>datePublished</td> - <td>2009-11-05</td> - </tr> - <tr> - <td>itemprop</td> - <td>description</td> - <td>This is my grandmother's apple pie recipe. I like to add a dash of nutmeg.</td> - </tr> - <tr> - <td>itemprop</td> - <td>prepTime</td> - <td>PT30M</td> - </tr> - <tr> - <td>itemprop</td> - <td>cookTime</td> - <td>PT1H</td> - </tr> - <tr> - <td>itemprop</td> - <td>totalTime</td> - <td>PT1H30M</td> - </tr> - <tr> - <td>itemprop</td> - <td>recipeYield</td> - <td>1 9" pie (8 servings)</td> - </tr> - <tr> - <td>itemprop</td> - <td>recipeIngredient</td> - <td>Thinly-sliced apples: 6 cups</td> - </tr> - <tr> - <td>itemprop</td> - <td>recipeIngredient</td> - <td>White sugar: 3/4 cup</td> - </tr> - <tr> - <td>itemprop</td> - <td>recipeInstructions</td> - <td>1. Cut and peel apples 2. Mix sugar and cinnamon. Use additional sugar for tart apples .</td> - </tr> - <tr> - <td>itemprop</td> - <td colspan="2" rowspan="1">author [Person]</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Carol Smith</td> - </tr> - <tr> - <td colspan="1" rowspan="3">itemscope</td> - <td>itemprop[itemtype]</td> - <td colspan="2" rowspan="1">aggregateRating [AggregateRating]</td> - </tr> - <tr> - <td>itemprop</td> - <td>ratingValue</td> - <td>4.0</td> - </tr> - <tr> - <td>itemprop</td> - <td>reviewCount</td> - <td>35</td> - </tr> - <tr> - <td colspan="1" rowspan="4">itemscope</td> - <td>itemprop[itemtype]</td> - <td colspan="2" rowspan="1">nutrition [NutritionInformation]</td> - </tr> - <tr> - <td>itemprop</td> - <td>servingSize</td> - <td>1 medium slice</td> - </tr> - <tr> - <td>itemprop</td> - <td>calories</td> - <td>250 cal</td> - </tr> - <tr> - <td>itemprop</td> - <td>fatContent</td> - <td>12 g</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="14">itemscope</td> + <td>itemtype</td> + <td colspan="2" rowspan="1">Recipe</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Grandma's Holiday Apple Pie</td> + </tr> + <tr> + <td>itemprop</td> + <td>image</td> + <td>https://c1.staticflickr.com/1/30/42759561_8631e2f905_n.jpg</td> + </tr> + <tr> + <td>itemprop</td> + <td>datePublished</td> + <td>2009-11-05</td> + </tr> + <tr> + <td>itemprop</td> + <td>description</td> + <td> + This is my grandmother's apple pie recipe. I like to add a dash of + nutmeg. + </td> + </tr> + <tr> + <td>itemprop</td> + <td>prepTime</td> + <td>PT30M</td> + </tr> + <tr> + <td>itemprop</td> + <td>cookTime</td> + <td>PT1H</td> + </tr> + <tr> + <td>itemprop</td> + <td>totalTime</td> + <td>PT1H30M</td> + </tr> + <tr> + <td>itemprop</td> + <td>recipeYield</td> + <td>1 9" pie (8 servings)</td> + </tr> + <tr> + <td>itemprop</td> + <td>recipeIngredient</td> + <td>Thinly-sliced apples: 6 cups</td> + </tr> + <tr> + <td>itemprop</td> + <td>recipeIngredient</td> + <td>White sugar: 3/4 cup</td> + </tr> + <tr> + <td>itemprop</td> + <td>recipeInstructions</td> + <td> + 1. Cut and peel apples 2. Mix sugar and cinnamon. Use additional sugar + for tart apples . + </td> + </tr> + <tr> + <td>itemprop</td> + <td colspan="2" rowspan="1">author [Person]</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Carol Smith</td> + </tr> + <tr> + <td colspan="1" rowspan="3">itemscope</td> + <td>itemprop[itemtype]</td> + <td colspan="2" rowspan="1">aggregateRating [AggregateRating]</td> + </tr> + <tr> + <td>itemprop</td> + <td>ratingValue</td> + <td>4.0</td> + </tr> + <tr> + <td>itemprop</td> + <td>reviewCount</td> + <td>35</td> + </tr> + <tr> + <td colspan="1" rowspan="4">itemscope</td> + <td>itemprop[itemtype]</td> + <td colspan="2" rowspan="1">nutrition [NutritionInformation]</td> + </tr> + <tr> + <td>itemprop</td> + <td>servingSize</td> + <td>1 medium slice</td> + </tr> + <tr> + <td>itemprop</td> + <td>calories</td> + <td>250 cal</td> + </tr> + <tr> + <td>itemprop</td> + <td>fatContent</td> + <td>12 g</td> + </tr> + </tbody> </table> -<div class="note"> -<p><strong>提示</strong>: Google 提供了一个方便地从 HTML 提取微数据结构的工具:<a href="https://developers.google.com/structured-data/testing-tool/"> Structured Data Testing Tool</a>。你可以通过上面的 HTML 试一下。</p> -</div> +> **备注:** Google 提供了一个方便地从 HTML 提取微数据结构的工具:[ Structured Data Testing Tool](https://developers.google.com/structured-data/testing-tool/)。你可以通过上面的 HTML 试一下。 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="参阅">参阅</h2> - -<ul> - <li><a href="/en-US/docs/Web/HTML/Global_attributes">其它不同的全局属性</a></li> - <li>其他 microdata 相关的全局熟悉 - <ul> - <li>{{htmlattrxref("itemid")}}</li> - <li>{{htmlattrxref("itemprop")}}</li> - <li>{{htmlattrxref("itemref")}}</li> - <li>{{htmlattrxref("itemscope")}}</li> - <li>{{htmlattrxref("itemtype")}}</li> - </ul> - </li> -</ul> +## 参阅 + +- [其它不同的全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 其他 microdata 相关的全局熟悉 + + - {{htmlattrxref("itemid")}} + - {{htmlattrxref("itemprop")}} + - {{htmlattrxref("itemref")}} + - {{htmlattrxref("itemscope")}} + - {{htmlattrxref("itemtype")}} diff --git a/files/zh-cn/web/html/global_attributes/itemtype/index.md b/files/zh-cn/web/html/global_attributes/itemtype/index.md index a653106667968b..6344d1c8395143 100644 --- a/files/zh-cn/web/html/global_attributes/itemtype/index.md +++ b/files/zh-cn/web/html/global_attributes/itemtype/index.md @@ -3,226 +3,225 @@ title: itemtype slug: Web/HTML/Global_attributes/itemtype translation_of: Web/HTML/Global_attributes/itemtype --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong><code>itemtype</code></strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 指定了词汇的 URL,它将会用于定义数据结构中的 <code>itemprop</code>(条目属性)。{{htmlattrxref("itemscope")}} 用于设置词汇的生效范围,其中词汇在数据结构中由 <code>itemtype</code> 设置。</p> +**`itemtype`** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 指定了词汇的 URL,它将会用于定义数据结构中的 `itemprop`(条目属性)。{{htmlattrxref("itemscope")}} 用于设置词汇的生效范围,其中词汇在数据结构中由 `itemtype` 设置。 -<p>Google 和其它主流搜索引擎支持 <a href="http://schema.org/">schema.org</a> 结构化数据词汇。这个词汇定义了一组标准的类型名称和属性名称。例如,<code><a href="http://schema.org/MusicEvent">MusicEvent</a></code> 表示音乐会的名称,<code><a href="http://schema.org/startDate">startDate</a></code> 和 <code><a href="http://schema.org/location">location</a></code> 属性指定了音乐会的关键信息。这里,<a href="http://schema.org/MusicEvent"><code>MusicEvent</code> </a>应该是用于 <code>itemtype</code> 的 URL,而 <code>startDate</code> 和 location 作为 <code><a href="http://schema.org/MusicEvent">MusicEvent</a></code> 所定义的 <code>itemprop。</code></p> +Google 和其它主流搜索引擎支持 [schema.org](http://schema.org/) 结构化数据词汇。这个词汇定义了一组标准的类型名称和属性名称。例如,[`MusicEvent`](http://schema.org/MusicEvent) 表示音乐会的名称,[`startDate`](http://schema.org/startDate) 和 [`location`](http://schema.org/location) 属性指定了音乐会的关键信息。这里,[`MusicEvent` ](http://schema.org/MusicEvent)应该是用于 `itemtype` 的 URL,而 `startDate` 和 location 作为 [`MusicEvent`](http://schema.org/MusicEvent) 所定义的 `itemprop。` -<div class="note"> -<p><strong>注:</strong>更多 <code>itemtype</code> 属性的信息请见 <a href="http://schema.org/Thing">http://schema.org/Thing</a></p> -</div> +> **备注:** 更多 `itemtype` 属性的信息请见 <http://schema.org/Thing> -<ul> - <li><strong>itemtype</strong> 属性必须拥有这样的值,它是唯一标识的无序集合,这些标识是大小写敏感的,每个标识都是有效的绝对 URL,并且所有都使用相同词汇定义。属性的值必须至少拥有一个标识。</li> - <li>条目的类型必须全部为定义在适用规范(例如 <a href="http://schema.org/">schema.org</a>)中的类型,并且必须使用相同词汇定义。</li> - <li>itemtype 属性只能在指定了 itemscope 属性的元素上指定。</li> - <li>itemid 属性只能在同时指定了 itemscope 和 itemtype 属性的元素上指定。它们必须仅仅在拥有 itemscope 属性的元素上指定,它的 itemtype 属性指定了不支持全局标识符的词汇,根据该词汇规范的定义。</li> - <li>全局标识符的准确含义,由词汇的规范决定。它留给这种规范,来定义全局标识符相同的多个条目(位于相同页面或不同页面)是否允许存在,以及对于处理 ID 相同的多个条目,使用什么处理规则。</li> -</ul> +- **itemtype** 属性必须拥有这样的值,它是唯一标识的无序集合,这些标识是大小写敏感的,每个标识都是有效的绝对 URL,并且所有都使用相同词汇定义。属性的值必须至少拥有一个标识。 +- 条目的类型必须全部为定义在适用规范(例如 [schema.org](http://schema.org/))中的类型,并且必须使用相同词汇定义。 +- itemtype 属性只能在指定了 itemscope 属性的元素上指定。 +- itemid 属性只能在同时指定了 itemscope 和 itemtype 属性的元素上指定。它们必须仅仅在拥有 itemscope 属性的元素上指定,它的 itemtype 属性指定了不支持全局标识符的词汇,根据该词汇规范的定义。 +- 全局标识符的准确含义,由词汇的规范决定。它留给这种规范,来定义全局标识符相同的多个条目(位于相同页面或不同页面)是否允许存在,以及对于处理 ID 相同的多个条目,使用什么处理规则。 -<h3 id="简单示例">简单示例</h3> +### 简单示例 -<h4 id="HTML">HTML</h4> +#### HTML -<pre class="brush: html">&lt;div itemscope itemtype="http://schema.org/Product"&gt; - &lt;span itemprop="brand"&gt;ACME&lt;/span&gt; - &lt;span itemprop="name"&gt;Executive Anvil&lt;/span&gt; -&lt;/div&gt;</pre> +```html +<div itemscope itemtype="http://schema.org/Product"> + <span itemprop="brand">ACME</span> + <span itemprop="name">Executive Anvil</span> +</div> +``` -<h4 id="结构化数据">结构化数据</h4> +#### 结构化数据 <table class="standard-table"> - <tbody> - <tr> - <td rowspan="4">itemscope</td> - <td>itemtype</td> - <td colspan="2" rowspan="1">schema.org Product</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Executive Anvil</td> - </tr> - <tr> - <td>itemprop</td> - <td colspan="2" rowspan="1">brand [Thing]</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>ACME</td> - </tr> - </tbody> + <tbody> + <tr> + <td rowspan="4">itemscope</td> + <td>itemtype</td> + <td colspan="2" rowspan="1">schema.org Product</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Executive Anvil</td> + </tr> + <tr> + <td>itemprop</td> + <td colspan="2" rowspan="1">brand [Thing]</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>ACME</td> + </tr> + </tbody> </table> -<h2 id="示例">示例</h2> +## 示例 -<h3 id="HTML_2">HTML</h3> +### HTML -<pre class="brush: html">&lt;div itemscope itemtype="http://schema.org/Product"&gt; - &lt;span itemprop="brand"&gt;ACME&lt;br&gt;&lt;/span&gt; - &lt;span itemprop="name"&gt;Executive Anvil&lt;br&gt;&lt;/span&gt; - &lt;img itemprop="image" src="https://pixabay.com/static/uploads/photo/2015/09/05/18/15/suitcase-924605_960_720.png" width="50" height="50" alt="Executive Anvil logo" /&gt;&lt;br&gt; +```html +<div itemscope itemtype="http://schema.org/Product"> + <span itemprop="brand">ACME<br></span> + <span itemprop="name">Executive Anvil<br></span> + <img itemprop="image" src="https://pixabay.com/static/uploads/photo/2015/09/05/18/15/suitcase-924605_960_720.png" width="50" height="50" alt="Executive Anvil logo" /><br> -&lt;span itemprop="description"&gt;Sleeker than ACME's Classic Anvil, the +<span itemprop="description">Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height. - &lt;br&gt; -&lt;/span&gt; - - Product #: &lt;span itemprop="mpn"&gt;925872&lt;br&gt;&lt;/span&gt; - &lt;span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"&gt; - Rating: &lt;span itemprop="ratingValue"&gt;4.4&lt;/span&gt; stars, based on &lt;span itemprop="reviewCount"&gt;89 - &lt;/span&gt; reviews&lt;p&gt; - &lt;/span&gt; - -&lt;span itemprop="offers" itemscope itemtype="http://schema.org/Offer"&gt; - Regular price: $179.99&lt;br&gt; - &lt;meta itemprop="priceCurrency" content="USD" /&gt; - &lt;span itemprop="price"&gt;Sale price: $119.99&lt;br&gt;&lt;/span&gt; - (Sale ends &lt;time itemprop="priceValidUntil" datetime="2020-11-05"&gt; - 5 November!&lt;/time&gt;)&lt;br&gt; - Available from: &lt;span itemprop="seller" itemscope itemtype="http://schema.org/Organization"&gt; - &lt;span itemprop="name"&gt;Executive Objects&lt;br&gt;&lt;/span&gt; - &lt;/span&gt; - Condition: &lt;link itemprop="itemCondition" href="http://schema.org/UsedCondition"/&gt;Previously owned, - in excellent condition&lt;br&gt; - &lt;link itemprop="availability" href="http://schema.org/InStock"/&gt;In stock! Order now! -&lt;/span&gt; - - &lt;/span&gt; + <br> +</span> + + Product #: <span itemprop="mpn">925872<br></span> + <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> + Rating: <span itemprop="ratingValue">4.4</span> stars, based on <span itemprop="reviewCount">89 + </span> reviews<p> + </span> + +<span itemprop="offers" itemscope itemtype="http://schema.org/Offer"> + Regular price: $179.99<br> + <meta itemprop="priceCurrency" content="USD" /> + <span itemprop="price">Sale price: $119.99<br></span> + (Sale ends <time itemprop="priceValidUntil" datetime="2020-11-05"> + 5 November!</time>)<br> + Available from: <span itemprop="seller" itemscope itemtype="http://schema.org/Organization"> + <span itemprop="name">Executive Objects<br></span> + </span> + Condition: <link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>Previously owned, + in excellent condition<br> + <link itemprop="availability" href="http://schema.org/InStock"/>In stock! Order now! +</span> + + </span> -&lt;/div&gt;</pre> +</div> +``` -<h3 id="结果">结果</h3> +### 结果 -<h4 id="HTML_3">HTML</h4> +#### HTML -<p>{{EmbedLiveSample('HTML_2', '300', '400', '', 'Web/HTML/Global_attributes/itemtype')}}</p> +{{EmbedLiveSample('HTML_2', '300', '400', '', 'Web/HTML/Global_attributes/itemtype')}} -<h4 id="结构化数据_2">结构化数据</h4> +#### 结构化数据 <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="7">itemscope</td> - <td>itemtype</td> - <td colspan="2" rowspan="1">Product (http://schema.org/Product)</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Executive Anvil</td> - </tr> - <tr> - <td>itemprop</td> - <td>image</td> - <td>https://pixabay.com/static/uploads/photo/2015/09/05/18/15/suitcase-924605_960_720.png</td> - </tr> - <tr> - <td>itemprop</td> - <td>description</td> - <td>Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for the business traveler looking for something to drop from a height.</td> - </tr> - <tr> - <td>itemprop</td> - <td>mpn</td> - <td>925872</td> - </tr> - <tr> - <td>itemprop</td> - <td>brand [Thing]</td> - <td> </td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>ACME</td> - </tr> - <tr> - <td colspan="1" rowspan="9">itemscope</td> - <td>itemprop[itemtype]</td> - <td>aggregateRating[AggregateRating]</td> - <td> </td> - </tr> - <tr> - <td>itemprop</td> - <td>ratingValue</td> - <td>4.4</td> - </tr> - <tr> - <td>itemprop</td> - <td>reviewCount</td> - <td>89</td> - </tr> - <tr> - <td>itemprop</td> - <td>offers [Offer]</td> - <td>http://schema.org/Offer</td> - </tr> - <tr> - <td>itemprop</td> - <td>priceCurrency</td> - <td>USD</td> - </tr> - <tr> - <td>itemprop</td> - <td>price</td> - <td>119.99</td> - </tr> - <tr> - <td>itemprop</td> - <td>priceValidUntil</td> - <td>2020-11-05</td> - </tr> - <tr> - <td>itemprop</td> - <td>itemCondition</td> - <td>http://schema.org/UsedCondition</td> - </tr> - <tr> - <td>itemprop</td> - <td>availability</td> - <td>http://schema.org/InStock</td> - </tr> - <tr> - <td colspan="1" rowspan="2">itemscope</td> - <td>itemprop[itemtype]</td> - <td>seller [Organization]</td> - <td>http://schema.org/Organization</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Executive Objects</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="7">itemscope</td> + <td>itemtype</td> + <td colspan="2" rowspan="1">Product (http://schema.org/Product)</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Executive Anvil</td> + </tr> + <tr> + <td>itemprop</td> + <td>image</td> + <td> + https://pixabay.com/static/uploads/photo/2015/09/05/18/15/suitcase-924605_960_720.png + </td> + </tr> + <tr> + <td>itemprop</td> + <td>description</td> + <td> + Sleeker than ACME's Classic Anvil, the Executive Anvil is perfect for + the business traveler looking for something to drop from a height. + </td> + </tr> + <tr> + <td>itemprop</td> + <td>mpn</td> + <td>925872</td> + </tr> + <tr> + <td>itemprop</td> + <td>brand [Thing]</td> + <td></td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>ACME</td> + </tr> + <tr> + <td colspan="1" rowspan="9">itemscope</td> + <td>itemprop[itemtype]</td> + <td>aggregateRating[AggregateRating]</td> + <td></td> + </tr> + <tr> + <td>itemprop</td> + <td>ratingValue</td> + <td>4.4</td> + </tr> + <tr> + <td>itemprop</td> + <td>reviewCount</td> + <td>89</td> + </tr> + <tr> + <td>itemprop</td> + <td>offers [Offer]</td> + <td>http://schema.org/Offer</td> + </tr> + <tr> + <td>itemprop</td> + <td>priceCurrency</td> + <td>USD</td> + </tr> + <tr> + <td>itemprop</td> + <td>price</td> + <td>119.99</td> + </tr> + <tr> + <td>itemprop</td> + <td>priceValidUntil</td> + <td>2020-11-05</td> + </tr> + <tr> + <td>itemprop</td> + <td>itemCondition</td> + <td>http://schema.org/UsedCondition</td> + </tr> + <tr> + <td>itemprop</td> + <td>availability</td> + <td>http://schema.org/InStock</td> + </tr> + <tr> + <td colspan="1" rowspan="2">itemscope</td> + <td>itemprop[itemtype]</td> + <td>seller [Organization]</td> + <td>http://schema.org/Organization</td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Executive Objects</td> + </tr> + </tbody> </table> -<div class="note"> -<p><strong>注:</strong> 一个工具,用于从 HTML 提取 microdata 结构,是 Google 的 <a href="https://developers.google.com/structured-data/testing-tool/">结构化数据测试工具</a>。在上面展示的 HTML 上尝试吧。</p> -</div> +> **备注:** 一个工具,用于从 HTML 提取 microdata 结构,是 Google 的 [结构化数据测试工具](https://developers.google.com/structured-data/testing-tool/)。在上面展示的 HTML 上尝试吧。 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="另见">另见</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes">其它不同的全局属性</a></li> - <li>其它 microdata 相关的全局属性 - <ul> - <li>{{htmlattrxref("itemid")}}</li> - <li>{{htmlattrxref("itemprop")}}</li> - <li>{{htmlattrxref("itemref")}}</li> - <li>{{htmlattrxref("itemscope")}}</li> - <li>{{htmlattrxref("itemtype")}}</li> - </ul> - </li> -</ul> +## 另见 + +- [其它不同的全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 其它 microdata 相关的全局属性 + + - {{htmlattrxref("itemid")}} + - {{htmlattrxref("itemprop")}} + - {{htmlattrxref("itemref")}} + - {{htmlattrxref("itemscope")}} + - {{htmlattrxref("itemtype")}} diff --git a/files/zh-cn/web/html/global_attributes/lang/index.md b/files/zh-cn/web/html/global_attributes/lang/index.md index 8e20bcf806d192..263f708ec8189b 100644 --- a/files/zh-cn/web/html/global_attributes/lang/index.md +++ b/files/zh-cn/web/html/global_attributes/lang/index.md @@ -5,50 +5,32 @@ tags: - 全局属性 语言标签 lang translation_of: Web/HTML/Global_attributes/lang --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong>lang</strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 参与了元素语言的定义。这个语言是不可编辑元素写入的语言,或者可编辑元素应该写入的语言。标签包含单个条目,值的格式由 <a href="http://www.ietf.org/rfc/bcp/bcp47.txt"><em>用于定义语言的标签 (BCP47)</em></a> IETF 文档定义。如果标签的内容是空字符串,语言就设为<em>未知</em>。如果标签内容是无效的,根据 BCP47,它就设为<em>无效</em>。</p> +**lang** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 参与了元素语言的定义。这个语言是不可编辑元素写入的语言,或者可编辑元素应该写入的语言。标签包含单个条目,值的格式由 [_用于定义语言的标签 (BCP47)_](http://www.ietf.org/rfc/bcp/bcp47.txt) IETF 文档定义。如果标签的内容是空字符串,语言就设为*未知*。如果标签内容是无效的,根据 BCP47,它就设为*无效*。 -<div>{{EmbedInteractiveExample("pages/tabbed/attribute-lang.html","tabbed-shorter")}}</div> +{{EmbedInteractiveExample("pages/tabbed/attribute-lang.html","tabbed-shorter")}} +> **备注:** ## 语言标签语法完整的 BCP47 语法足以标记极其特定的语言方言,但大多数用法都要简单得多。语言标记由连字符分隔的语言子标签组成,其中每个子标签指示该语言的特定属性。 3 个最常见的子标签是:_ 语言子标签 +> _ : Required。一个 2 或 3 个字符的代码,用于定义基本语言,通常全部用小写编写。例如,English 的语言代码是`en`,Badeshi 的代码是`bdz`。 +> +> - 脚本子标签 +> - : 该子标签定义了用于该语言的书写系统,并且总是 4 个字符长,首字母大写。例如,French-in-Braille 是`fr-Brai`,`ja-Kana`是用 Katakana 字母书写的日文。如果语言是以非常典型的方式编写的,例如拉丁字母表中的英语,则无需使用此子标签。 +> - 地区子标签 +> - : 该子标签定义了来自特定位置的基本语言的方言,并且是 ALLCAPS 中与国家代码匹配的 2 个字母,或者是与非国家区域匹配的 3 个数字。例如,`es-ES`是西班牙语中的西班牙语,`es-013`是中美洲的西班牙语。 “国际西班牙语”就是`es`。如果两者都存在,则脚本子标签位于区域子标签之前 ––ru-Cyrl-BY 是俄语,用白俄罗斯语中的西里尔字母书写。要查找语言的正确子标签代码,请参阅[语言子标签查找](https://r12a.github.io/app-subtags/)。 -<div class="note"> -<h2 id="语言标签语法">语言标签语法</h2> +即使设置了 **lang** 属性,也可能无效,因为 [**xml:lang**](/zh-CN/docs/Web/HTML/Global_attributes/xml:lang) 属性更加优先。 -<p>完整的 BCP47 语法足以标记极其特定的语言方言,但大多数用法都要简单得多。</p> +对于 CSS 伪类{{cssxref(":lang")}},如果它们的名称不同,则两个无效的语言名称是不同的。比如`:lang(es)`匹配`lang = "es-ES"`和`lang = "es-419"`,而`:lang(xyzzy)`与`lang = "xyzzy-Zorp!"`不匹配。 -<p>语言标记由连字符分隔的语言子标签组成,其中每个子标签指示该语言的特定属性。 3 个最常见的子标签是:</p> - -<dl> - <dt>语言子标签</dt> - <dd>Required。一个 2 或 3 个字符的代码,用于定义基本语言,通常全部用小写编写。例如,English 的语言代码是<code>en</code>,Badeshi 的代码是<code>bdz</code>。 - - </dd> - <dt>脚本子标签</dt> - <dd>该子标签定义了用于该语言的书写系统,并且总是 4 个字符长,首字母大写。例如,French-in-Braille 是<code>fr-Brai</code>,<code>ja-Kana</code>是用 Katakana 字母书写的日文。如果语言是以非常典型的方式编写的,例如拉丁字母表中的英语,则无需使用此子标签。</dd> - <dt>地区子标签</dt> - <dd>该子标签定义了来自特定位置的基本语言的方言,并且是 ALLCAPS 中与国家代码匹配的 2 个字母,或者是与非国家区域匹配的 3 个数字。例如,<code>es-ES</code>是西班牙语中的西班牙语,<code>es-013</code>是中美洲的西班牙语。 “国际西班牙语”就是<code>es</code>。</dd> -</dl> - -<p>如果两者都存在,则脚本子标签位于区域子标签之前 ––ru-Cyrl-BY 是俄语,用白俄罗斯语中的西里尔字母书写。</p> - -<p>要查找语言的正确子标签代码,请参阅<a href="https://r12a.github.io/app-subtags/">语言子标签查找</a>。</p> -</div> - -<p>即使设置了 <strong>lang</strong> 属性,也可能无效,因为 <a href="/en-US/docs/Web/HTML/Global_attributes/xml:lang"><strong>xml:lang</strong></a> 属性更加优先。</p> - -<p>对于 CSS 伪类{{cssxref(":lang")}},如果它们的名称不同,则两个无效的语言名称是不同的。比如<code>:lang(es)</code>匹配<code>lang = "es-ES"</code>和<code>lang = "es-419"</code>,而<code>:lang(xyzzy)</code>与<code>lang = "xyzzy-Zorp!"</code>不匹配。</p> - -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="相关链接">相关链接</h2> +## 相关链接 -<ul> - <li>所有<a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> +- 所有[全局属性](/zh-CN/docs/Web/HTML/Global_attributes) diff --git a/files/zh-cn/web/html/global_attributes/spellcheck/index.md b/files/zh-cn/web/html/global_attributes/spellcheck/index.md index ce1c6a0e68285e..b8ab749535cf42 100644 --- a/files/zh-cn/web/html/global_attributes/spellcheck/index.md +++ b/files/zh-cn/web/html/global_attributes/spellcheck/index.md @@ -6,142 +6,178 @@ tags: - 拼写检查 translation_of: Web/HTML/Global_attributes/spellcheck --- -<p>{{HTMLSidebar("Global_attributes")}}{{SeeCompatTable}}</p> +{{HTMLSidebar("Global_attributes")}}{{SeeCompatTable}} -<p>spellcheck<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes"> 全局属性</a>是枚举属性,定义是否可以检查元素的拼写错误。它可以具有以下值:<a href="/en-US/docs/Web/HTML/Global_attributes"> </a></p> +spellcheck[ 全局属性](/zh-CN/docs/Web/HTML/Global_attributes)是枚举属性,定义是否可以检查元素的拼写错误。它可以具有以下值:[](/zh-CN/docs/Web/HTML/Global_attributes) -<ul> - <li><code>true</code>, 设置在可能的情况下会去检查元素内容的拼写错误;</li> - <li><code>false</code>, 设置在可能的情况下关闭对元素内容拼写检查。</li> -</ul> +- `true`, 设置在可能的情况下会去检查元素内容的拼写错误; +- `false`, 设置在可能的情况下关闭对元素内容拼写检查。 -<p>如果没有设置这个属性,默认值由元素自身类型和浏览器设置决定。默认值也可以被继承,当有祖先元素的<em> spellcheck </em>设置为 <code>true</code> 的情况下,子元素的默认值也是 <code>true</code>。<br> - <br> - 你可以参考这篇文章的例子来使用这个属性。</p> +如果没有设置这个属性,默认值由元素自身类型和浏览器设置决定。默认值也可以被继承,当有祖先元素的 _spellcheck_ 设置为 `true` 的情况下,子元素的默认值也是 `true`。 -<p>这个属性是枚举型而不是布尔类型。这意味着显式设置其中一个值 true 或 false 是强制性的,如果使用简写 <code>&lt;label spellcheck&gt;Example Label&lt;/label&gt; 是不行的</code>。 正确的用法是<code> &lt;label spellcheck="true"&gt;Example Label&lt;/label&gt;</code>.</p> +你可以参考这篇文章的例子来使用这个属性。 -<p>这个属性仅仅是浏览器上的提示:浏览器并不会强制去检查拼写错误,通常不可编辑的元素是不会去检查拼写错误的,就算它的 spellcheck 属性被设置为 true 而且浏览器支持拼写检查。</p> +这个属性是枚举型而不是布尔类型。这意味着显式设置其中一个值 true 或 false 是强制性的,如果使用简写 `<label spellcheck>Example Label</label> 是不行的`。 正确的用法是` <label spellcheck="true">Example Label</label>`. -<p>各个浏览器的默认设置和元素依赖:</p> +这个属性仅仅是浏览器上的提示:浏览器并不会强制去检查拼写错误,通常不可编辑的元素是不会去检查拼写错误的,就算它的 spellcheck 属性被设置为 true 而且浏览器支持拼写检查。 + +各个浏览器的默认设置和元素依赖: <table class="fullwidth-table"> - <tbody> - <tr> - <th>浏览器</th> - <th>{{ HTMLElement("html") }}</th> - <th>{{ HTMLElement("textarea") }}</th> - <th>{{ HTMLElement("input") }}</th> - <th>其他</th> - <th>附注</th> - </tr> - <tr> - <td rowspan="3">Firefox</td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> - </tr> - <tr> - <td><strong><code>false</code></strong></td> - <td><strong><code>true</code></strong></td> - <td><strong><em>inherited</em></strong></td> - <td><strong><em>inherited</em></strong></td> - <td><strong>当 <code>layout.spellcheckDefault</code> 值为 <code>1</code> (default value)</strong></td> - </tr> - <tr> - <td><code>false</code></td> - <td><code>true</code></td> - <td><code>true</code></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>2</code></td> - </tr> - <tr> - <td rowspan="3">Seamonkey</td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> - </tr> - <tr> - <td><strong><code>false</code></strong></td> - <td><strong><code>true</code></strong></td> - <td><strong><em>inherited</em></strong></td> - <td><strong><em>inherited</em></strong></td> - <td><strong>当 <code>layout.spellcheckDefault</code> 值为 1<strong>(默认如此)</strong></strong></td> - </tr> - <tr> - <td><code>false</code></td> - <td><code>true</code></td> - <td><code>true</code></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>2</code></td> - </tr> - <tr> - <td rowspan="3">Camino</td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><code>false</code></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> - </tr> - <tr> - <td><code>false</code></td> - <td><code>true</code></td> - <td><em>inherited</em></td> - <td><em>inherited</em></td> - <td>当 <code>layout.spellcheckDefault</code> 值为 <code>1</code></td> - </tr> - <tr> - <td><strong><code>false</code></strong></td> - <td><strong><code>true</code></strong></td> - <td><strong><code>true</code></strong></td> - <td><strong><em>inherited</em></strong></td> - <td><strong>当 layout.spellcheckDefault 值为 <code>2</code><strong>(默认如此)</strong></strong></td> - </tr> - <tr> - <td>Chrome</td> - <td><code>false</code></td> - <td><code>true</code></td> - <td>?</td> - <td><em>inherited</em></td> - </tr> - <tr> - <td>Internet Explorer</td> - <td><code>false</code></td> - <td><code>true</code></td> - <td>?</td> - <td><em>inherited</em></td> - </tr> - <tr> - <td>Opera</td> - <td><code>false</code></td> - <td><code>true</code></td> - <td>?</td> - <td><em>inherited</em></td> - </tr> - <tr> - <td>Safari</td> - <td><code>false</code></td> - <td><code>true</code></td> - <td>?</td> - <td><em>inherited</em></td> - </tr> - </tbody> + <tbody> + <tr> + <th>浏览器</th> + <th>{{ HTMLElement("html") }}</th> + <th>{{ HTMLElement("textarea") }}</th> + <th>{{ HTMLElement("input") }}</th> + <th>其他</th> + <th>附注</th> + </tr> + <tr> + <td rowspan="3">Firefox</td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> + </tr> + <tr> + <td> + <strong><code>false</code></strong> + </td> + <td> + <strong><code>true</code></strong> + </td> + <td> + <strong><em>inherited</em></strong> + </td> + <td> + <strong><em>inherited</em></strong> + </td> + <td> + <strong + >当 <code>layout.spellcheckDefault</code> 值为 <code>1</code> (default + value)</strong + > + </td> + </tr> + <tr> + <td><code>false</code></td> + <td><code>true</code></td> + <td><code>true</code></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>2</code></td> + </tr> + <tr> + <td rowspan="3">Seamonkey</td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> + </tr> + <tr> + <td> + <strong><code>false</code></strong> + </td> + <td> + <strong><code>true</code></strong> + </td> + <td> + <strong><em>inherited</em></strong> + </td> + <td> + <strong><em>inherited</em></strong> + </td> + <td> + <strong + >当 <code>layout.spellcheckDefault</code> 值为 1<strong + >(默认如此)</strong + ></strong + > + </td> + </tr> + <tr> + <td><code>false</code></td> + <td><code>true</code></td> + <td><code>true</code></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>2</code></td> + </tr> + <tr> + <td rowspan="3">Camino</td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><code>false</code></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>0</code></td> + </tr> + <tr> + <td><code>false</code></td> + <td><code>true</code></td> + <td><em>inherited</em></td> + <td><em>inherited</em></td> + <td>当 <code>layout.spellcheckDefault</code> 值为 <code>1</code></td> + </tr> + <tr> + <td> + <strong><code>false</code></strong> + </td> + <td> + <strong><code>true</code></strong> + </td> + <td> + <strong><code>true</code></strong> + </td> + <td> + <strong><em>inherited</em></strong> + </td> + <td> + <strong + >当 layout.spellcheckDefault 值为 <code>2</code + ><strong>(默认如此)</strong></strong + > + </td> + </tr> + <tr> + <td>Chrome</td> + <td><code>false</code></td> + <td><code>true</code></td> + <td>?</td> + <td><em>inherited</em></td> + </tr> + <tr> + <td>Internet Explorer</td> + <td><code>false</code></td> + <td><code>true</code></td> + <td>?</td> + <td><em>inherited</em></td> + </tr> + <tr> + <td>Opera</td> + <td><code>false</code></td> + <td><code>true</code></td> + <td>?</td> + <td><em>inherited</em></td> + </tr> + <tr> + <td>Safari</td> + <td><code>false</code></td> + <td><code>true</code></td> + <td>?</td> + <td><em>inherited</em></td> + </tr> + </tbody> </table> -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="另见">另见</h2> +## 另见 -<ul> - <li>所有 <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> +- 所有 [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) diff --git a/files/zh-cn/web/html/global_attributes/style/index.md b/files/zh-cn/web/html/global_attributes/style/index.md index 5833024de5bd15..c053cf59d06afe 100644 --- a/files/zh-cn/web/html/global_attributes/style/index.md +++ b/files/zh-cn/web/html/global_attributes/style/index.md @@ -3,24 +3,20 @@ title: style slug: Web/HTML/Global_attributes/style translation_of: Web/HTML/Global_attributes/style --- -<div>{{HTMLSidebar("Global_attributes")}}</div> +{{HTMLSidebar("Global_attributes")}} -<p><strong>style</strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 包含应用到元素的 <a href="/en-US/docs/Web/CSS">CSS</a> 样式声明。要注意样式最好定义在单独的文件中。这个属性以及 {{HTMLElement("style")}} 元素的主要目的是快速装饰。例如用于测试目的。</p> +**style** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 包含应用到元素的 [CSS](/zh-CN/docs/Web/CSS) 样式声明。要注意样式最好定义在单独的文件中。这个属性以及 {{HTMLElement("style")}} 元素的主要目的是快速装饰。例如用于测试目的。 -<div class="note"> -<p><strong>用法注解:</strong>这个属性不能用于传递语义信息。即使所有样式都移除了,页面也应该保留正确语义。通常它不应用于隐藏不相关的信息;这应该使用 <a href="#attr-hidden"><strong>hidden</strong></a> 属性来实现。</p> -</div> +> **备注:** 这个属性不能用于传递语义信息。即使所有样式都移除了,页面也应该保留正确语义。通常它不应用于隐藏不相关的信息;这应该使用 [**hidden**](#attr-hidden) 属性来实现。 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 {{Compat}} -<h2 id="另见">另见</h2> +## 另见 -<ul> - <li>所有<a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> +- 所有[全局属性](/zh-CN/docs/Web/HTML/Global_attributes) diff --git a/files/zh-cn/web/html/global_attributes/tabindex/index.md b/files/zh-cn/web/html/global_attributes/tabindex/index.md index 3279b2aaebaf43..80a7737aafcc09 100644 --- a/files/zh-cn/web/html/global_attributes/tabindex/index.md +++ b/files/zh-cn/web/html/global_attributes/tabindex/index.md @@ -6,40 +6,34 @@ tags: - HTML translation_of: Web/HTML/Global_attributes/tabindex --- -<p>{{HTMLSidebar("Global_attributes")}}</p> +{{HTMLSidebar("Global_attributes")}} -<p><strong>tabindex</strong> <a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a> 指示其元素是否可以聚焦,以及它是否/在何处参与顺序键盘导航(通常使用<kbd>Tab</kbd>键,因此得名)。</p> +**tabindex** [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) 指示其元素是否可以聚焦,以及它是否/在何处参与顺序键盘导航(通常使用<kbd>Tab</kbd>键,因此得名)。 -<p>{{EmbedInteractiveExample("pages/tabbed/attribute-tabindex.html","tabbed-standard")}}</p> +{{EmbedInteractiveExample("pages/tabbed/attribute-tabindex.html","tabbed-standard")}} -<p>它接受一个整数作为值,具有不同的结果,具体取决于整数的值:</p> +它接受一个整数作为值,具有不同的结果,具体取决于整数的值: -<ul> - <li>tabindex=负值 (通常是 tabindex=“-1”),表示元素是可聚焦的,但是不能通过键盘导航来访问到该元素,用 JS 做页面小组件内部键盘导航的时候非常有用。</li> - <li><code>tabindex="0"</code> ,表示元素是可聚焦的,并且可以通过键盘导航来聚焦到该元素,它的相对顺序是当前处于的 DOM 结构来决定的。</li> - <li>tabindex=正值,表示元素是可聚焦的,并且可以通过键盘导航来访问到该元素;它的相对顺序按照<strong>tabindex</strong> 的数值递增而滞后获焦。如果多个元素拥有相同的 <strong>tabindex</strong>,它们的相对顺序按照他们在当前 DOM 中的先后顺序决定。</li> -</ul> +- tabindex=负值 (通常是 tabindex=“-1”),表示元素是可聚焦的,但是不能通过键盘导航来访问到该元素,用 JS 做页面小组件内部键盘导航的时候非常有用。 +- `tabindex="0"` ,表示元素是可聚焦的,并且可以通过键盘导航来聚焦到该元素,它的相对顺序是当前处于的 DOM 结构来决定的。 +- tabindex=正值,表示元素是可聚焦的,并且可以通过键盘导航来访问到该元素;它的相对顺序按照**tabindex** 的数值递增而滞后获焦。如果多个元素拥有相同的 **tabindex**,它们的相对顺序按照他们在当前 DOM 中的先后顺序决定。 -<p>根据键盘序列导航的顺序,值为 <code>0</code> 、非法值、或者没有 <strong>tabindex</strong> 值的元素应该放置在 <strong>tabindex</strong> 值为正值的元素后面。</p> +根据键盘序列导航的顺序,值为 `0` 、非法值、或者没有 **tabindex** 值的元素应该放置在 **tabindex** 值为正值的元素后面。 -<p>如果我们在 {{htmlelement("div")}} 上设置了 <code>tabindex</code> 属性,它的子元素内容不能使用箭头键来滚动,除非我们在内容上也设置 <code>tabindex</code>。<a href="https://jsfiddle.net/jainakshay/0b2q4Lgv/">查看这篇 fiddle 来理解 tabindex 的滚动影响</a>。</p> +如果我们在 {{htmlelement("div")}} 上设置了 `tabindex` 属性,它的子元素内容不能使用箭头键来滚动,除非我们在内容上也设置 `tabindex`。[查看这篇 fiddle 来理解 tabindex 的滚动影响](https://jsfiddle.net/jainakshay/0b2q4Lgv/)。 -<div class="note"> -<p><strong>注:</strong>tabindex 的最大值不应超过 32767。如果没有指定,它的默认值为 0。</p> -</div> +> **备注:** tabindex 的最大值不应超过 32767。如果没有指定,它的默认值为 0。 -<h2 id="规范">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>{{Compat}}</p> +{{Compat}} -<h2 id="另见">另见</h2> +## 另见 -<ul> - <li>所有<a href="/en-US/docs/Web/HTML/Global_attributes">全局属性</a></li> - <li>反映这个属性的 {{domxref("HTMLElement.tabIndex")}} </li> - <li>tabindex 的可访问性问题:请见 <a href="http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html">不要使用大于 0 的 Tabindex | Adrian Roselli</a>。</li> -</ul> +- 所有[全局属性](/zh-CN/docs/Web/HTML/Global_attributes) +- 反映这个属性的 {{domxref("HTMLElement.tabIndex")}} +- tabindex 的可访问性问题:请见 [不要使用大于 0 的 Tabindex | Adrian Roselli](http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html)。 diff --git a/files/zh-cn/web/html/global_attributes/x-ms-acceleratorkey/index.md b/files/zh-cn/web/html/global_attributes/x-ms-acceleratorkey/index.md index c20972ee76c082..fcfed4223a96c3 100644 --- a/files/zh-cn/web/html/global_attributes/x-ms-acceleratorkey/index.md +++ b/files/zh-cn/web/html/global_attributes/x-ms-acceleratorkey/index.md @@ -9,34 +9,46 @@ tags: translation_of: Web/HTML/Global_attributes/x-ms-acceleratorkey original_slug: Web/HTML/Global_attributes/x-ms-加速装置键 --- -<div>{{HTMLSidebar("Global_attributes")}}{{Non-standard_Header}}</div> +{{HTMLSidebar("Global_attributes")}}{{Non-standard_Header}} -<p> <code><strong>x-ms-acceleratorkey</strong></code> 属性声明 <a href="https://docs.microsoft.com/en-us/windows/uwp/design/input/keyboard-accelerators">accelerator key</a> 已经分配给一个元素:当按下键盘上的键时,通过 JavaScript 激活该元素。</p> +**`x-ms-acceleratorkey`** 属性声明 [accelerator key](https://docs.microsoft.com/en-us/windows/uwp/design/input/keyboard-accelerators) 已经分配给一个元素:当按下键盘上的键时,通过 JavaScript 激活该元素。 -<p>{{Non-standard_Inline}} 此专有属性是特定于 Internet Explorer 和 Microsoft Edge 的。</p> +{{Non-standard_Inline}} 此专有属性是特定于 Internet Explorer 和 Microsoft Edge 的。 -<p>对于屏幕阅读器和其他辅助技术,<code>x-ms-acceleratorkey</code> 在可访问性树中公开一个通知,即该元素存在一个加速器键。此属性不提供加速器键行为。必须提供 JavaScript 事件处理程序,如<code>onkeypress</code>, <code>onkeydown</code>, 或者 <code>onkeyup</code>, 来侦听声明的加速器键并相应地激活元素。</p> +对于屏幕阅读器和其他辅助技术,`x-ms-acceleratorkey` 在可访问性树中公开一个通知,即该元素存在一个加速器键。此属性不提供加速器键行为。必须提供 JavaScript 事件处理程序,如`onkeypress`, `onkeydown`, 或者 `onkeyup`, 来侦听声明的加速器键并相应地激活元素。 -<p>为下列元素提供键盘快捷方式:不需要 JavaScript 的,请使用 <a href="/en-US/docs/Web/HTML/Global_attributes/accesskey">the <code>accesskey</code> 属性</a>。</p> +为下列元素提供键盘快捷方式:不需要 JavaScript 的,请使用 [the `accesskey` 属性](/zh-CN/docs/Web/HTML/Global_attributes/accesskey)。 -<h2 id="语法">语法</h2> +## 语法 -<pre class="brush: html">&lt;button x-ms-acceleratorkey="[explanation of key combination]"&gt;…&lt;/button&gt;</pre> +```html +<button x-ms-acceleratorkey="[explanation of key combination]">…</button> +``` -<h2 id="价值">价值</h2> +## 价值 -<p>加速器键组合。例如:</p> +加速器键组合。例如: -<ul> - <li><code>"Ctrl+B"</code> 的组合 <kbd>Ctrl</kbd> 和 <kbd>B</kbd> 秘钥。</li> - <li><code>"J"</code> 只是为了 <kbd>J</kbd> 钥匙。</li> - <li><code>"Ctrl+; then K"</code> 的快捷方式,类似于 <a href="https://help.manuscript.com/7558/fogbugz-keyboard-shortcuts#For_Your_Server_or_non-Ocelot_Keyboard_Shortcuts">FogBugz 的就键盘模式</a>。这种方法比较复杂,但不覆盖用户浏览器或操作系统提供的现有键盘快捷键。 </li> -</ul> +- `"Ctrl+B"` 的组合 -<h2 id="另请参阅">另请参阅</h2> + <kbd>Ctrl</kbd> -<ul> - <li><a href="/en-US/docs/Web/HTML/Global_attributes/accesskey">全球 <code>accesskey</code> 属性</a></li> - <li><a href="/en-US/docs/Web/CSS/-ms-accelerator">这个 <code>-ms-accelerator</code> CSS 属性</a></li> - <li><a href="/en-US/docs/Web/API/Microsoft_API_extensions">Microsoft API 扩展</a></li> -</ul> + 和 + + <kbd>B</kbd> + + 秘钥。 + +- `"J"` 只是为了 + + <kbd>J</kbd> + + 钥匙。 + +- `"Ctrl+; then K"` 的快捷方式,类似于 [FogBugz 的就键盘模式](https://help.manuscript.com/7558/fogbugz-keyboard-shortcuts#For_Your_Server_or_non-Ocelot_Keyboard_Shortcuts)。这种方法比较复杂,但不覆盖用户浏览器或操作系统提供的现有键盘快捷键。 + +## 另请参阅 + +- [全球 `accesskey` 属性](/zh-CN/docs/Web/HTML/Global_attributes/accesskey) +- [这个 `-ms-accelerator` CSS 属性](/zh-CN/docs/Web/CSS/-ms-accelerator) +- [Microsoft API 扩展](/zh-CN/docs/Web/API/Microsoft_API_extensions) diff --git a/files/zh-cn/web/html/global_attributes/x-ms-format-detection/index.md b/files/zh-cn/web/html/global_attributes/x-ms-format-detection/index.md index 1c5c0023d95d28..e8100a4106616e 100644 --- a/files/zh-cn/web/html/global_attributes/x-ms-format-detection/index.md +++ b/files/zh-cn/web/html/global_attributes/x-ms-format-detection/index.md @@ -9,36 +9,31 @@ tags: translation_of: Web/HTML/Global_attributes/x-ms-format-detection original_slug: Web/HTML/Global_attributes/x-ms-格式 - 检测 --- -<div>{{HTMLSidebar("Global_attributes")}}{{Non-standard_Header}}</div> +{{HTMLSidebar("Global_attributes")}}{{Non-standard_Header}} -<p>这个 <code><strong>x-ms-format-detection</strong></code> 属性确定元素文本中的数据格式 (如电话号码) 是否自动转换为可跟踪链接。</p> +这个 **`x-ms-format-detection`** 属性确定元素文本中的数据格式 (如电话号码) 是否自动转换为可跟踪链接。 -<p>现有的链接 (例如带有<code>tel:</code> 计划不受影响。</p> +现有的链接 (例如带有`tel:` 计划不受影响。 -<div class="blockIndicator note"> -<p>通过格式检测创建的链接不会出现在 DOM 中。</p> -</div> +> **备注:** 通过格式检测创建的链接不会出现在 DOM 中。 -<p>{{Non-standard_inline}} 此专有属性是特定于 Internet Explorer 和 Microsoft Edge。</p> +{{Non-standard_inline}} 此专有属性是特定于 Internet Explorer 和 Microsoft Edge。 -<h2 id="语法">语法</h2> +## 语法 -<pre class="brush: html">&lt;html x-ms-format-detection="none"&gt; -</pre> +```html +<html x-ms-format-detection="none"> +``` -<h2 id="价值">价值</h2> +## 价值 -<dl> - <dt><code>all</code></dt> - <dd>检测所有受支持的数据格式。</dd> - <dt><code>none</code></dt> - <dd>关闭格式检测。</dd> - <dt><code>phone</code></dt> - <dd>电话号码模式是自动链接的。</dd> -</dl> +- `all` + - : 检测所有受支持的数据格式。 +- `none` + - : 关闭格式检测。 +- `phone` + - : 电话号码模式是自动链接的。 -<h2 id="另请详见">另请详见</h2> +## 另请详见 -<ul> - <li><a href="/en-US/docs/Web/API/Microsoft_API_extensions">Microsoft API extensions</a></li> -</ul> +- [Microsoft API extensions](/zh-CN/docs/Web/API/Microsoft_API_extensions) diff --git a/files/zh-cn/web/html/index.md b/files/zh-cn/web/html/index.md index dc92cb67368b7b..6a84676905d1b2 100644 --- a/files/zh-cn/web/html/index.md +++ b/files/zh-cn/web/html/index.md @@ -12,87 +12,78 @@ tags: - 学习 translation_of: Web/HTML --- -<p>{{HTMLSidebar}}</p> - -<p><strong>HTML</strong>(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它定义了网页内容的含义和结构。除 HTML 以外的其它技术则通常用来描述一个网页的表现与展示效果(如 <a href="/zh-CN/docs/Web/CSS">CSS</a>),或功能与行为(如 <a href="/zh-CN/docs/Web/JavaScript">JavaScript</a>)。</p> - -<p>“超文本”(hypertext)是指连接单个网站内或多个网站间的网页的链接。链接是网络的一个基本方面。只要将内容上传到互联网,并将其与他人创建的页面相链接,你就成为了万维网的积极参与者。</p> - -<p>HTML 使用“标记”(markup)来注明文本、图片和其他内容,以便于在 Web 浏览器中显示。HTML 标记包含一些特殊“元素”如 {{HTMLElement("head")}},{{HTMLElement("title")}},{{HTMLElement("body")}},{{HTMLElement("header")}},{{HTMLElement("footer")}},{{HTMLElement("article")}},{{HTMLElement("section")}},{{HTMLElement("p")}},{{HTMLElement("div")}},{{HTMLElement("span")}},{{HTMLElement("img")}},{{HTMLElement("aside")}},{{HTMLElement("audio")}},{{HTMLElement("canvas")}},{{HTMLElement("datalist")}},{{HTMLElement("details")}},{{HTMLElement("embed")}},{{HTMLElement("nav")}},{{HTMLElement("output")}},{{HTMLElement("progress")}},{{HTMLElement("video")}} 等等等等。</p> - -<p>HTML 元素通过“标签”(tag)将文本从文档中引出,标签由在“<code>&lt;</code>”和“<code>&gt;</code>”中包裹的元素名组成,HTML 标签里的元素名不区分大小写。也就是说,它们可以用大写,小写或混合形式书写。例如,<code>&lt;title&gt;</code> 标签可以写成 <code>&lt;Title&gt;</code>,<code>&lt;TITLE&gt;</code> 或以任何其他方式。</p> - -<p>下面的文章会帮助你更好地了解 HTML:</p> - -<ul> - <li>HTML 介绍 - - <p>如果您是 Web 开发新手,请务必阅读我们的 <a href="/zh-CN/docs/Learn/Getting_started_with_the_web/HTML_basics">HTML 基础</a> 文章来了解什么是 HTML 以及如何使用它。</p> - </li> - <li>HTML 教程 - <p>关于如何使用 HTML 的文章,教程和完整的示例,查看我们的 <a href="/zh-CN/docs/Learn/HTML">HTML 学习区</a>。</p> - </li> - <li>HTML 参考 - <p>在我们丰富的 <a href="/zh-CN/docs/Web/HTML/Reference">HTML 参考</a> 部分中,你可以找到在 HTML 中每一个元素和属性的详细信息。</p> - </li> -</ul> - -<h2 id="Tools">初学者教程</h2> - -<p>我们的 <a href="/zh-CN/docs/Learn/HTML">HTML 学习区</a> 含有许多富有特色的模块,学习者可以在没有任何先前经验的情况下从零开始,掌握 HTML。</p> - -<dl> - <dt><a href="/zh-CN/docs/Learn/HTML/Introduction_to_HTML">HTML 介绍</a></dt> - <dd>这一模块将为你打下基础,并为进一步的学习铺平道路。在这里,你将掌握一些重要的概念和语法,学习如何将 HTML 用于文本、如何创建超链接以及运用 HTML 去构建一个网页。</dd> - <dt><a href="/zh-CN/docs/Learn/HTML/Multimedia_and_embedding">多媒体与嵌入内容</a></dt> - <dd>这个模块将带领你探索如何使用 HTML 在你的网页中包含多媒体内容,包括通过许多不同的方式嵌入图片,以及如何嵌入视频、音频甚至整个其他网页。</dd> - <dt><a href="/zh-CN/docs/Learn/HTML/Tables">HTML 表格</a></dt> - <dd>如何用可理解并易于访问的形式在网页中展示表格化数据一向都是个不小的挑战。这个模块涵盖了基本的表格标记,以及一些更复杂的特性,比如实现标题和总结等。</dd> - <dt><a href="/zh-CN/docs/Learn/HTML/Forms">HTML 表单</a></dt> - <dd>表单是构成 Web 世界的重要组成部分——它们提供了大量你所需要用来与网站进行交互所需的功能。比如注册、登录、发送评论反馈、购买商品等等。这个模块将引导你建立一个客户端/前端部分的表单。</dd> - <dt><a href="/zh-CN/docs/Learn/HTML/Howto">用 HTML 解决常见问题</a></dt> - <dd>该部分提供了一些链接,它们指向那些你在构建 Web 页面的过程中最常见的问题的解决方法:如何处理网页标题、添加图片或视频、强调某些内容、建立基本的表单等。</dd> -</dl> - -<h2 id="高级主题">高级主题</h2> - -<dl> - <dt><a href="/zh-CN/docs/Web/HTML/CORS_enabled_image">CORS 处理跨域图片</a></dt> - <dd>通过搭配 {{htmlattrxref("crossorigin", "img")}} 属性和适当的 {{glossary("CORS")}} 标头,在 {{HTMLElement("img")}} 元素中定义的图片可以从外部来源加载并在 {{HTMLElement("canvas")}} 元素中使用,就像是从本地源加载一样。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/CORS_settings_attributes">CORS 设置属性</a></dt> - <dd>一些提供了对 <a href="/zh-CN/docs/Web/HTTP/Access_control_CORS">CORS</a> 的支持的 HTML 元素,比如 {{HTMLElement("img")}} 或 {{HTMLElement("video")}} ,具有 <code>crossorigin</code> 元素属性/attribute(<code>crossOrigin</code> 对象属性/property),该属性能使你配置其跨域获取资源的请求。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Focus_management_in_HTML">HTML 中的焦点管理</a></dt> - <dd>DOM 属性 <code><a href="/zh-CN/docs/Web/API/Document/activeElement">activeElement</a></code> 以及 DOM 方法 <code><a href="/zh-CN/docs/Web/API/Document/hasFocus">hasFocus()</a></code> 可以帮助你跟踪并控制用户在网页中与各种元素的交互行为。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Preloading_content">使用 rel="preload" 预加载页面内容</a></dt> - <dd>{{htmlelement("link")}} 元素的 {{htmlattrxref("rel", "link")}} 属性的值 <code>preload</code> 允许你在 HTML 的 {{htmlelement("head")}} 部分声明一些(资源)获取请求,以指定那些在页面加载后即刻需要的资源。因此在浏览器的主渲染机制介入前,这些资源会在页面加载生命周期的早期阶段进行预加载。这样可以保证这些资源可被更早使用并减少阻塞页面初次渲染的可能性,从而提升性能。这篇文章提供了关于 <code>preload</code> 作用机制的基本指导。</dd> -</dl> - -<h2 id="Documentation">参考</h2> - -<dl> - <dt><a href="/zh-CN/docs/Web/HTML/Reference">HTML 参考</a></dt> - <dd>HTML 由<strong>元素</strong>组成,每个元素都可以被多个<strong>属性</strong>修饰。HTML 文档通过<a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Link_types">链接</a>相互连接。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Element">HTML 元素参考</a></dt> - <dd>浏览完整的 <a href="/zh-CN/docs/Glossary/HTML">HTML</a> <a href="/zh-CN/docs/Glossary/元素">元素</a>列表。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Attributes">HTML 属性参考</a></dt> - <dd>HTML 元素都含有<strong>元素属性</strong>。这些额外的属性值可以通过各种途径对元素进行配置或调整其行为。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a></dt> - <dd>全局属性可以在所有 <a href="/zh-CN/docs/Web/HTML/Element">HTML 元素</a>上进行设置<em>,包括那些没有在相关标准中出现的元素</em>。这意味着即使这些元素使得文档并不符合 HTML5 标准,它们也必须允许这些属性。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Inline_elements">内联元素</a>和<a href="/zh-CN/docs/Web/HTML/Block-level_elements">块级元素</a></dt> - <dd>HTML 元素通常是"内联"或"块级"元素。一个内联元素仅会占用由定义它的标签所包裹起来的空间。而一个块级元素将会占用其父元素(容器)的全部空间,也就是创建一个“块”。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Link_types">链接类型</a></dt> - <dd>在 HTML 中,各种各样的链接类型被用来确立和定义两个文档之间的关系。可以设置链接类型的链接元素包括 <a href="/zh-CN/docs/Web/HTML/Element/a"><code>&lt;a&gt;</code></a>,<a href="/zh-CN/docs/Web/HTML/Element/area"><code>&lt;area&gt;</code></a>,和 <a href="/zh-CN/docs/Web/HTML/Element/link"><code>&lt;link&gt;</code></a> 。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Supported_media_formats">HTML 的 audio 与 video 元素所支持的媒体格式</a></dt> - <dd><a href="/zh-CN/docs/Web/HTML/Element/audio"><code>&lt;audio&gt;</code></a> 和 <a href="/zh-CN/docs/Web/HTML/Element/video"><code>&lt;video&gt;</code></a> 元素允许你播放音频和视频媒体。这些元素提供了一个浏览器原生的对于 Adobe Flash 和其他插件的替代品。</dd> - <dt><a href="/zh-CN/docs/Web/Guide/HTML/Content_categories"> HTML 内容种类</a></dt> - <dd>HTML 包含了几种内容,每种内容在特定的情景上下文中有效,而在其他上下文中无效。每种内容也指定了可以被它们包含的类别,以及可以或不可以在其中使用的元素。这里提供了一个关于这些类别的说明。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Quirks_Mode_and_Standards_Mode">怪异模式和标准模式</a></dt> - <dd>关于怪异模式和标准模式的历史信息。</dd> -</dl> - -<h2 id="相关主题">相关主题</h2> - -<dl> - <dt><a href="/zh-CN/docs/Web/HTML/Applying_color">使用 CSS 为 HTML 元素应用颜色</a></dt> - <dd>这篇文章涵盖了大多数使用 CSS 为 HTML 内容增加颜色的方式,并列举了 HTML 文档里哪些部分可以进行上色以及这一操作需要使用哪些 CSS 属性。它包含了一些示例,配色建构工具的链接,以及其他内容。</dd> -</dl> +{{HTMLSidebar}} + +**HTML**(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它定义了网页内容的含义和结构。除 HTML 以外的其它技术则通常用来描述一个网页的表现与展示效果(如 [CSS](/zh-CN/docs/Web/CSS)),或功能与行为(如 [JavaScript](/zh-CN/docs/Web/JavaScript))。 + +“超文本”(hypertext)是指连接单个网站内或多个网站间的网页的链接。链接是网络的一个基本方面。只要将内容上传到互联网,并将其与他人创建的页面相链接,你就成为了万维网的积极参与者。 + +HTML 使用“标记”(markup)来注明文本、图片和其他内容,以便于在 Web 浏览器中显示。HTML 标记包含一些特殊“元素”如 {{HTMLElement("head")}},{{HTMLElement("title")}},{{HTMLElement("body")}},{{HTMLElement("header")}},{{HTMLElement("footer")}},{{HTMLElement("article")}},{{HTMLElement("section")}},{{HTMLElement("p")}},{{HTMLElement("div")}},{{HTMLElement("span")}},{{HTMLElement("img")}},{{HTMLElement("aside")}},{{HTMLElement("audio")}},{{HTMLElement("canvas")}},{{HTMLElement("datalist")}},{{HTMLElement("details")}},{{HTMLElement("embed")}},{{HTMLElement("nav")}},{{HTMLElement("output")}},{{HTMLElement("progress")}},{{HTMLElement("video")}} 等等等等。 + +HTML 元素通过“标签”(tag)将文本从文档中引出,标签由在“`<`”和“`>`”中包裹的元素名组成,HTML 标签里的元素名不区分大小写。也就是说,它们可以用大写,小写或混合形式书写。例如,`<title>` 标签可以写成 `<Title>`,`<TITLE>` 或以任何其他方式。 + +下面的文章会帮助你更好地了解 HTML: + +- HTML 介绍 + + 如果您是 Web 开发新手,请务必阅读我们的 [HTML 基础](/zh-CN/docs/Learn/Getting_started_with_the_web/HTML_basics) 文章来了解什么是 HTML 以及如何使用它。 + +- HTML 教程 + + 关于如何使用 HTML 的文章,教程和完整的示例,查看我们的 [HTML 学习区](/zh-CN/docs/Learn/HTML)。 + +- HTML 参考 + + 在我们丰富的 [HTML 参考](/zh-CN/docs/Web/HTML/Reference) 部分中,你可以找到在 HTML 中每一个元素和属性的详细信息。 + +## 初学者教程 + +我们的 [HTML 学习区](/zh-CN/docs/Learn/HTML) 含有许多富有特色的模块,学习者可以在没有任何先前经验的情况下从零开始,掌握 HTML。 + +- [HTML 介绍](/zh-CN/docs/Learn/HTML/Introduction_to_HTML) + - : 这一模块将为你打下基础,并为进一步的学习铺平道路。在这里,你将掌握一些重要的概念和语法,学习如何将 HTML 用于文本、如何创建超链接以及运用 HTML 去构建一个网页。 +- [多媒体与嵌入内容](/zh-CN/docs/Learn/HTML/Multimedia_and_embedding) + - : 这个模块将带领你探索如何使用 HTML 在你的网页中包含多媒体内容,包括通过许多不同的方式嵌入图片,以及如何嵌入视频、音频甚至整个其他网页。 +- [HTML 表格](/zh-CN/docs/Learn/HTML/Tables) + - : 如何用可理解并易于访问的形式在网页中展示表格化数据一向都是个不小的挑战。这个模块涵盖了基本的表格标记,以及一些更复杂的特性,比如实现标题和总结等。 +- [HTML 表单](/zh-CN/docs/Learn/HTML/Forms) + - : 表单是构成 Web 世界的重要组成部分——它们提供了大量你所需要用来与网站进行交互所需的功能。比如注册、登录、发送评论反馈、购买商品等等。这个模块将引导你建立一个客户端/前端部分的表单。 +- [用 HTML 解决常见问题](/zh-CN/docs/Learn/HTML/Howto) + - : 该部分提供了一些链接,它们指向那些你在构建 Web 页面的过程中最常见的问题的解决方法:如何处理网页标题、添加图片或视频、强调某些内容、建立基本的表单等。 + +## 高级主题 + +- [CORS 处理跨域图片](/zh-CN/docs/Web/HTML/CORS_enabled_image) + - : 通过搭配 {{htmlattrxref("crossorigin", "img")}} 属性和适当的 {{glossary("CORS")}} 标头,在 {{HTMLElement("img")}} 元素中定义的图片可以从外部来源加载并在 {{HTMLElement("canvas")}} 元素中使用,就像是从本地源加载一样。 +- [CORS 设置属性](/zh-CN/docs/Web/HTML/CORS_settings_attributes) + - : 一些提供了对 [CORS](/zh-CN/docs/Web/HTTP/Access_control_CORS) 的支持的 HTML 元素,比如 {{HTMLElement("img")}} 或 {{HTMLElement("video")}} ,具有 `crossorigin` 元素属性/attribute(`crossOrigin` 对象属性/property),该属性能使你配置其跨域获取资源的请求。 +- [HTML 中的焦点管理](/zh-CN/docs/Web/HTML/Focus_management_in_HTML) + - : DOM 属性 [`activeElement`](/zh-CN/docs/Web/API/Document/activeElement) 以及 DOM 方法 [`hasFocus()`](/zh-CN/docs/Web/API/Document/hasFocus) 可以帮助你跟踪并控制用户在网页中与各种元素的交互行为。 +- [使用 rel="preload" 预加载页面内容](/zh-CN/docs/Web/HTML/Preloading_content) + - : {{htmlelement("link")}} 元素的 {{htmlattrxref("rel", "link")}} 属性的值 `preload` 允许你在 HTML 的 {{htmlelement("head")}} 部分声明一些(资源)获取请求,以指定那些在页面加载后即刻需要的资源。因此在浏览器的主渲染机制介入前,这些资源会在页面加载生命周期的早期阶段进行预加载。这样可以保证这些资源可被更早使用并减少阻塞页面初次渲染的可能性,从而提升性能。这篇文章提供了关于 `preload` 作用机制的基本指导。 + +## 参考 + +- [HTML 参考](/zh-CN/docs/Web/HTML/Reference) + - : HTML 由**元素**组成,每个元素都可以被多个**属性**修饰。HTML 文档通过[链接](/zh-CN/docs/Web/HTML/Link_types)相互连接。 +- [HTML 元素参考](/zh-CN/docs/Web/HTML/Element) + - : 浏览完整的 [HTML](/zh-CN/docs/Glossary/HTML) [元素](/zh-CN/docs/Glossary/元素)列表。 +- [HTML 属性参考](/zh-CN/docs/Web/HTML/Attributes) + - : HTML 元素都含有**元素属性**。这些额外的属性值可以通过各种途径对元素进行配置或调整其行为。 +- [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) + - : 全局属性可以在所有 [HTML 元素](/zh-CN/docs/Web/HTML/Element)上进行设置*,包括那些没有在相关标准中出现的元素*。这意味着即使这些元素使得文档并不符合 HTML5 标准,它们也必须允许这些属性。 +- [内联元素](/zh-CN/docs/Web/HTML/Inline_elements)和[块级元素](/zh-CN/docs/Web/HTML/Block-level_elements) + - : HTML 元素通常是"内联"或"块级"元素。一个内联元素仅会占用由定义它的标签所包裹起来的空间。而一个块级元素将会占用其父元素(容器)的全部空间,也就是创建一个“块”。 +- [链接类型](/zh-CN/docs/Web/HTML/Link_types) + - : 在 HTML 中,各种各样的链接类型被用来确立和定义两个文档之间的关系。可以设置链接类型的链接元素包括 [`<a>`](/zh-CN/docs/Web/HTML/Element/a),[`<area>`](/zh-CN/docs/Web/HTML/Element/area),和 [`<link>`](/zh-CN/docs/Web/HTML/Element/link) 。 +- [HTML 的 audio 与 video 元素所支持的媒体格式](/zh-CN/docs/Web/HTML/Supported_media_formats) + - : [`<audio>`](/zh-CN/docs/Web/HTML/Element/audio) 和 [`<video>`](/zh-CN/docs/Web/HTML/Element/video) 元素允许你播放音频和视频媒体。这些元素提供了一个浏览器原生的对于 Adobe Flash 和其他插件的替代品。 +- [HTML 内容种类](/zh-CN/docs/Web/Guide/HTML/Content_categories) + - : HTML 包含了几种内容,每种内容在特定的情景上下文中有效,而在其他上下文中无效。每种内容也指定了可以被它们包含的类别,以及可以或不可以在其中使用的元素。这里提供了一个关于这些类别的说明。 +- [怪异模式和标准模式](/zh-CN/docs/Web/HTML/Quirks_Mode_and_Standards_Mode) + - : 关于怪异模式和标准模式的历史信息。 + +## 相关主题 + +- [使用 CSS 为 HTML 元素应用颜色](/zh-CN/docs/Web/HTML/Applying_color) + - : 这篇文章涵盖了大多数使用 CSS 为 HTML 内容增加颜色的方式,并列举了 HTML 文档里哪些部分可以进行上色以及这一操作需要使用哪些 CSS 属性。它包含了一些示例,配色建构工具的链接,以及其他内容。 diff --git a/files/zh-cn/web/html/inline_elements/index.md b/files/zh-cn/web/html/inline_elements/index.md index aa8965888bc148..5ede0f40eef89c 100644 --- a/files/zh-cn/web/html/inline_elements/index.md +++ b/files/zh-cn/web/html/inline_elements/index.md @@ -3,51 +3,48 @@ title: 行内元素 slug: Web/HTML/Inline_elements tags: - HTML - - 'HTML:元素参考' + - HTML:元素参考 - HTML:元素参考 - 初学者 translation_of: Web/HTML/Inline_elements --- -<h2 id="Summary">摘要</h2> +## 摘要 -<p>HTML (超文本标记语言) 元素大多数都是行内元素或<a href="/zh-CN/docs/Web/HTML/Block-level_elements">块级元素</a>。一个行内元素只占据它对应标签的边框所包含的空间。下面这个例子说明了行内元素的作用范围:</p> +HTML (超文本标记语言) 元素大多数都是行内元素或[块级元素](/zh-CN/docs/Web/HTML/Block-level_elements)。一个行内元素只占据它对应标签的边框所包含的空间。下面这个例子说明了行内元素的作用范围: -<h2 id="Inline_example">行内元素示例</h2> +## 行内元素示例 -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush: html notranslate">&lt;p&gt;This &lt;span&gt;span&lt;/span&gt; is an inline element; its background has been colored to display both the beginning and end of the inline element's influence&lt;/p&gt;</pre> +```html +<p>This <span>span</span> is an inline element; its background has been colored to display both the beginning and end of the inline element's influence</p> +``` -<h3 id="CSS">CSS</h3> +### CSS -<pre class="brush: css notranslate">span { background-color: #8ABB55; } -</pre> +```css +span { background-color: #8ABB55; } +``` -<p>{{ EmbedLiveSample('Inline_example') }}</p> +{{ EmbedLiveSample('Inline_example') }} -<h2 id="行内元素与块级元素对比">行内元素与块级元素对比</h2> +## 行内元素与块级元素对比 -<dl> - <dt>内容</dt> - <dd>一般情况下,行内元素只能包含数据和其他行内元素。<br /> - 而块级元素可以包含行内元素和其他块级元素。这种结构上的包含继承区别可以使块级元素创建比行内元素更”大型“的结构。</dd> - <dt>格式</dt> - <dd>默认情况下,行内元素不会以新行开始,而块级元素会新起一行。</dd> -</dl> +- 内容 + - : 一般情况下,行内元素只能包含数据和其他行内元素。 + 而块级元素可以包含行内元素和其他块级元素。这种结构上的包含继承区别可以使块级元素创建比行内元素更”大型“的结构。 +- 格式 + - : 默认情况下,行内元素不会以新行开始,而块级元素会新起一行。 -<h2 id="Elements">行内元素列表</h2> +## 行内元素列表 -<p>下面的元素都是行内元素:</p> +下面的元素都是行内元素: -<ul id="inline-elements"> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/b">b</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/big">big</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/i">i</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/small">small</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/tt">tt</a></li> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/abbr">abbr</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/acronym">acronym</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/cite">cite</a>, <a href="/zh-CN/docs/Web/HTML/Element/code">code</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/dfn">dfn</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/em">em</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/kbd">kbd</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/strong">strong</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/samp">samp</a>, <a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/var">var</a></li> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a">a</a>, <a href="/zh-CN/docs/Web/HTML/Element/bdo">bdo</a>, <a href="/zh-CN/docs/Web/HTML/Element/br">br</a>, <a href="/zh-CN/docs/Web/HTML/Element/Img">img</a>, <a href="/zh-CN/docs/Web/HTML/Element/map">map</a>, <a href="/zh-CN/docs/Web/HTML/Element/object">object</a>, <a href="/zh-CN/docs/Web/HTML/Element/q">q</a>, <a href="/zh-CN/docs/Web/HTML/Element/Script">script</a>, <a href="/zh-CN/docs/Web/HTML/Element/span">span</a>, <a href="/zh-CN/docs/Web/HTML/Element/sub">sub</a>, <a href="/zh-CN/docs/Web/HTML/Element/sup">sup</a></li> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/button">button</a>, <a href="/zh-CN/docs/Web/HTML/Element/Input">input</a>, <a href="/zh-CN/docs/Web/HTML/Element/label">label</a>, <a href="/zh-CN/docs/Web/HTML/Element/select">select</a>, <a href="/zh-CN/docs/Web/HTML/Element/textarea">textarea</a></li> -</ul> +- [b](/zh-CN/docs/Web/HTML/Element/b), [big](/zh-CN/docs/Web/HTML/Element/big), [i](/zh-CN/docs/Web/HTML/Element/i), [small](/zh-CN/docs/Web/HTML/Element/small), [tt](/zh-CN/docs/Web/HTML/Element/tt) +- [abbr](/zh-CN/docs/Web/HTML/Element/abbr), [acronym](/zh-CN/docs/Web/HTML/Element/acronym), [cite](/zh-CN/docs/Web/HTML/Element/cite), [code](/zh-CN/docs/Web/HTML/Element/code), [dfn](/zh-CN/docs/Web/HTML/Element/dfn), [em](/zh-CN/docs/Web/HTML/Element/em), [kbd](/zh-CN/docs/Web/HTML/Element/kbd), [strong](/zh-CN/docs/Web/HTML/Element/strong), [samp](/zh-CN/docs/Web/HTML/Element/samp), [var](/zh-CN/docs/Web/HTML/Element/var) +- [a](/zh-CN/docs/Web/HTML/Element/a), [bdo](/zh-CN/docs/Web/HTML/Element/bdo), [br](/zh-CN/docs/Web/HTML/Element/br), [img](/zh-CN/docs/Web/HTML/Element/Img), [map](/zh-CN/docs/Web/HTML/Element/map), [object](/zh-CN/docs/Web/HTML/Element/object), [q](/zh-CN/docs/Web/HTML/Element/q), [script](/zh-CN/docs/Web/HTML/Element/Script), [span](/zh-CN/docs/Web/HTML/Element/span), [sub](/zh-CN/docs/Web/HTML/Element/sub), [sup](/zh-CN/docs/Web/HTML/Element/sup) +- [button](/zh-CN/docs/Web/HTML/Element/button), [input](/zh-CN/docs/Web/HTML/Element/Input), [label](/zh-CN/docs/Web/HTML/Element/label), [select](/zh-CN/docs/Web/HTML/Element/select), [textarea](/zh-CN/docs/Web/HTML/Element/textarea) -<h2 id="See_also">另请参阅</h2> +## 另请参阅 -<ul> - <li><a href="/zh-CN/docs/Web/HTML/Block-level_elements">块级元素</a></li> -</ul> +- [块级元素](/zh-CN/docs/Web/HTML/Block-level_elements) diff --git a/files/zh-cn/web/html/link_types/index.md b/files/zh-cn/web/html/link_types/index.md index 7f6dec20c8beef..43078a543bd64d 100644 --- a/files/zh-cn/web/html/link_types/index.md +++ b/files/zh-cn/web/html/link_types/index.md @@ -8,358 +8,589 @@ tags: - Reference translation_of: Web/HTML/Link_types --- -<p>{{HTMLSidebar}}</p> +{{HTMLSidebar}} -<p>在超文本标记语言中,在两种文档之间可以指定{{HTMLElement("a")}}, {{HTMLElement("area")}}或{{HTMLElement("link")}} 元素使一个页面链接到另一个页面。</p> +在超文本标记语言中,在两种文档之间可以指定{{HTMLElement("a")}}, {{HTMLElement("area")}}或{{HTMLElement("link")}} 元素使一个页面链接到另一个页面。 <table class="standard-table"> - <caption>下面是链接类型及其在 HTML 中的意义</caption> - <thead> - <tr> - <th scope="col">链接类型</th> - <th scope="col">描述</th> - <th scope="col" style="width: 12em;">支持的元素</th> - <th scope="col">不被支持的元素</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>alternate</code></td> - <td> - <ul> - <li>如果是{{HTMLElement("link")}}元素,并且{{htmlattrxref("rel", "link")}}属性包括 stylesheet,则这个 link 定义为 alternate 样式表;那样的话 {{htmlattrxref("title", "link")}} 属性不能为空。</li> - <li>如果{{htmlattrxref("type","link")}}设置为<code>application/rss+xml</code>或者<code>application/atom+xml</code>, 则 link 被定义为<a href="/en-US/docs/RSS/Getting_Started/Syndicating">syndication feed</a>. 页面中第一个被定义的为默认的。</li> - <li>其它情况 link 定义为 alternate 页面: - <ul> - <li>另一种介质,例如手持设备 (如果设置了 {{htmlattrxref("media","link")}} 属性),</li> - <li>另一种语言 (如果设置了{{htmlattrxref("hreflang","link")}} 属性),</li> - <li>另一种格式,例如 PDF (如果设置了{{htmlattrxref("type","link")}} 属性),</li> - <li>或者是以上这些的集合。</li> - </ul> - </li> - </ul> - - <p>(译注:link 的 alternate 定义了一个可替换的样式表,它和第一个 link 元素同时使用,第一个定义了首选样式,而 alternate 则让用户可选择替换的样式。但这个替换操作需要 浏览器支持,但很多浏览器比如 IE 都是不支持的。</p> - - <p>所以使用到替换样式的网页,一般都用一些样式表切换的 JS,让用户可以自由切换界面样式。这个应该大家都见过,一些网站会给网页定义多种配色。 稍高阶的一些,还可以利用 JS 弄成随时间变化样式的,比如白天的时候显示成明色,晚上的时候显示成暗色。)</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td> - <p><em>None</em>.</p> - </td> - </tr> - <tr> - <td> - <p><code>archives</code>{{Deprecated_Inline}}</p> - </td> - <td>定义文档的超链接,该文档包含此文件的存档链接。例如。一个博客入口可以链接到每月索引页面。<br> - <br> - <strong>Note:</strong>虽然可以识别,但单数<code>archive</code>是不正确的,必须避免使用。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>author</code></td> - <td>定义一个超链接到一个描述作者信息的页面或者提供一个方法联系作者。<br> - <br> - <strong>Note:</strong> 这个方法可能是 mailto:邮箱链接,但不推荐这样,这样可能导致机器人发送大量的垃圾邮件到这个邮箱。这种情况下,最好带一个包含联系方法的页面.。<br> - <br> - 在{{HTMLElement("a")}}, {{HTMLElement("area")}} or{{HTMLElement("link")}} 标签的{{htmlattrxref("rev", "link")}}属性上,虽然能够识别 <code>made,但并不正确,应该用</code>{{htmlattrxref("rel", "link")}} 属性替换。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>bookmark</code></td> - <td>表明这个链接是一个固定链接,对于最近的{{HTMLElement("article")}} 祖先标签。如果没有,则表最近的 section 标签<br> - bookmark 允许标识一个包括多个文档的页面,例如每月汇总的博客页面,或者博客集合。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td><code>canonical</code></td> - <td> - <p>来自维基百科: <a href="https://en.wikipedia.org/wiki/Canonical_link_element">Canonical_link_element</a><br> - 规范链接元素是一个 HTML 元素,它通过指定 web 页面的“规范”或“首选”版本作为搜索引擎优化的一部分,帮助网站管理员防止重复的内容问题。</p> - </td> - <td>{{HTMLElement("link")}} </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("form")}}</td> - </tr> - <tr> - <td><code>dns-prefetch</code>{{experimental_inline}}</td> - <td>提示浏览器该资源需要在用户点击链接之前进行 DNS 查询和协议握手。</td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><code>external</code></td> - <td>表明这个链接,是一个相对于当前网站的外部资源。点击这个链接会离开当前网站。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td><code>first</code> {{Deprecated_Inline}}</td> - <td>表明这个链接是当前页面资源序列中的第一个<br> - <br> - <strong>Note:</strong> 其它选项<code>last</code>, <code>prev</code>, <code>next</code>.<br> - <br> - 虽然可以识别,但同义词<code>begin</code>和<code>start</code>是不正确的,必须避免使用。 - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>help</code></td> - <td> - <ul> - <li>如果是一个{{HTMLElement("a")}} 或者 {{HTMLElement("area")}}标签,help 表明这个链接,链接到一个关于父亲标签和它的后代的进一步帮助资源;</li> - <li>如果是一个{{HTMLElement("link")}}标签,help 表明这个链接,链接到一个关于整个页面的进一步帮助资源。</li> - </ul> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>icon</code></td> - <td> - <p>定义一个在用户界面上代表这个页面的资源,通常是一个图标(包括声音和图像)<br> - <br> - {{htmlattrxref("media","link")}}, {{htmlattrxref("type","link")}} and {{htmlattrxref("sizes","link")}} 属性允许浏览器选择其上下文中最合适的图标。如果多种资源符合条件,浏览器会选择最后一个。</p> - - <p>在树型序列中,由于这些属性只是提示,并且这这些资源在进一步检查时可能是不适合的,浏览器可能选择另一个适合的。<br> - <br> - <strong>Note:</strong> 苹果 iOS 不支持此链接类型,也不支持 {{htmlattrxref("sizes","link")}}属性,就像其他移动端浏览器一样,为了 Web Clip 或者启动点位符选择一个页面图标。分别可使用不是标准方法的<a href="http://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW4"><code>apple-touch-icon</code></a> 和<a href="http://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW6"><code>apple-touch-startup-image</code></a> 替代。<br> - <br> - <code>在之前,经常可以看到 shortcut</code>,但他不是标准的,<strong>应该不再使用</strong>。</p> - </td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><code>import</code> {{Experimental_Inline}}</td> - <td><a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/HTML_Imports">HTML Imports</a></td> - <td></td> - <td></td> - </tr> - <tr> - <td> - <p><code>index</code> {{Deprecated_Inline}}</p> - </td> - <td> - <p>表明这个页面是一个等级体系的一部分,这个超链接指向该体系的最顶层资源。</p> - - <p>如果存在一个或几个 <code>up</code>链接,那么<code>up</code>链接的数目就是当前页面在这个等级体系里的深度。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>last</code> {{Deprecated_Inline}}</td> - <td> - <p>表明该超链接指向当前页面所在序列中的最后资源。</p> - - <p><strong>Note:</strong>该序列中其他相关链接资源的 link 的 type 值是<code>first</code>, <code>prev</code>, <code>next。</code></p> - - <p>虽然可以识别,但同义词<code>end</code>是不正确的,必须避免使用。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>license</code></td> - <td> - <p>表示超链接指向描述许可信息的文档。 如果不在{{HTMLElement("head")}}元素内,则该标准不会区分应用于文档特定部分或整个文档的超链接。 仅页面上的数据可以表明这一点。</p> - - <p><strong>Note:</strong>虽然可以识别,但同义词<code>copyright</code>是不正确的,必须避免使用。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>manifest</code></td> - <td>表示链接到的文件是 <a href="https://developer.mozilla.org/en-US/docs/Web/Manifest">Web App Manifest</a>.</td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><code>modulepreload</code></td> - <td> - <p>更早和更高优先级的加载模块脚本</p> - </td> - <td>{{HTMLElement("link")}} </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}},<br> - {{HTMLElement("form")}}</td> - </tr> - <tr> - <td><code>next</code></td> - <td> - <p>表明该超链接指向的是当前页面所在序列中的下一个资源。<br> - <br> - <strong>注意:</strong>该序列中其他相关链接资源的 link 的 type 值是<code>first</code>, <code>prev</code>, <code>last。</code></p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>nofollow</code></td> - <td>表示本文档的作者不想宣传链接的文档,例如,它是不受控的,它是一个坏的例子或如果它们有商业关系(销售环节)。nofollow 主要是被一些使用人气排名技术的搜索引擎所使用。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td> - <p><code>noopener</code></p> - </td> - <td> - <p>指示浏览器打开链接而不授予新的浏览上下文对打开它的文档的访问权限 - 通过在打开的窗口中不设置{{domxref("Window.opener")}}属性(返回 null)。</p> - - <p>当打开不受信任的链接时,这特别有用,以确保它们无法通过{{domxref("Window.opener")}}属性来篡改原始文档(有关更多详细信息,请参阅 <a href="https://mathiasbynens.github.io/rel-noopener/">About rel=noopener</a>),同时仍提供 Referer HTTP 标头(除非也使用 noreferrer)。</p> - - <p>请注意,使用<code>noopener</code>时,在决定是否打开新窗口/选项卡方面,除<code>_top</code>,<code>_self</code>和<code>_parent</code> 以外的非空目标名称都被视为<code>_blank</code> 。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td><code>noreferrer</code></td> - <td> - <p>阻止浏览器导航到另一个页面时,通过 Referer:HTTP header 将该页面地址或任何其他值作为 Referrer 发送。<br> - (在 Firefox 37 之前的 Firefox 中,此功能仅在页面中找到的链接中有效。在 UI 中单击的链接(例如通过上下文菜单“在新选项卡中打开”)被忽略了)。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td><code>opener</code> {{Experimental_Inline}}</td> - <td>恢复带有<code>target="_blank"</code>的链接上的隐式<code>rel="noopener"</code>添加(请参阅<a href="https://github.com/whatwg/html/issues/4078">相关的 HMTL 规范讨论</a>, <a href="https://trac.webkit.org/changeset/237144/webkit/">WebKit change</a>和<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1503681">Firefox bug discussion</a>)。</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}},<br> - {{HTMLElement("form")}}</td> - <td>{{HTMLElement("link")}}</td> - </tr> - <tr> - <td><code>pingback</code><br> - </td> - <td> - <p>定义一个外部资源 URI,以便在对该网页发表评论或引用时调用。 在 <a href="http://www.hixie.ch/specs/pingback/pingback">Pingback 1.0</a> 规范中定义了用于进行此类调用的协议。</p> - - <p>注意:如果还存在 X-Pingback:HTTP 标头,则此标头优先于具有这种链接类型的{{HTMLElement("link")}}元素</p> - </td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td> - <p><code>preconnect</code>{{experimental_inline}}</p> - </td> - <td>向浏览器提供提示,建议浏览器提前打开与链接网站的连接,而不会泄露任何私人信息或下载任何内容,以便在跟随链接时可以更快地获取链接内容。</td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><a href="/zh-CN/docs/Web/HTML/Link_types/prefetch"><code>prefetch</code></a></td> - <td>提示浏览器提前加载链接的资源,因为它可能会被用户请求。 - <p>建议浏览器提前获取链接的资源,因为它很可能会被用户请求。 从 Firefox 44 开始,考虑了{{HTMLAttrxRef("crossorigin", "link")}}属性的值,从而可以进行匿名预取。</p> - - <p>注意:<a href="/en-US/docs/Link_prefetching_FAQ">Link Prefetch FAQ</a>详细说明了可以预取的链接以及替代方法。</p> - </td> - <td>{{HTMLElement("a")}} {{unimplemented_inline}},<br> - {{HTMLElement("area")}} {{unimplemented_inline}},<br> - {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><a href="/zh-CN/docs/Web/HTML/Link_types/preload"><code>preload</code></a></td> - <td> - <p>告诉浏览器下载资源,因为在当前导航期间稍后将需要该资源。有关详细信息,请参见 <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content">Preloading content with rel="preload"</a></p> - </td> - <td>{{HTMLElement("link")}} </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}},<br> - {{HTMLElement("form")}}</td> - </tr> - <tr> - <td><code>prerender</code>{{experimental_inline}}</td> - <td>建议浏览器事先获取链接的资源,并建议将预取的内容显示在屏幕外,以便在需要时可以将其快速呈现给用户。</td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><code>prev</code></td> - <td> - <p>指示超链接指向当前页面所在序列的优先资源。</p> - - <p>注意:与按相同顺序链接资源有关的其他链接类型是<code>first</code>,<code>last</code>,<code>next</code>。</p> - - <p>虽然可以识别,但同义词<code>previous</code>是不正确的,必须避免使用。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>search</code></td> - <td> - <p>表示超链接引用了一个文档,该文档的接口专门设计用于在此文档或站点及其资源中进行搜索。</p> - - <p>如果将{{htmlattrxref("type","link")}}属性设置为<code>application/opensearchdescription+xml</code>,则该资源是<a href="/en-US/docs/Creating_OpenSearch_plugins_for_Firefox">OpenSearch 插件</a>,可以轻松将其添加到 Firefox 或 Internet Explorer 等某些浏览器的界面中。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>shortlink</code></td> - <td> - <p><a href="https://code.google.com/archive/p/shortlink/wikis/Specification.wiki"><code>shortlink</code> 规范</a><br> - 来自维基百科: <a href="https://en.wikipedia.org/wiki/URL_shortening">URL shortening</a><br> - 一些网站创建短链接,使通过即时消息共享链接更容易。</p> - </td> - <td>{{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - <tr> - <td><code>sidebar</code> {{Non-standard_Inline}}{{Deprecated_Inline}}</td> - <td> - <p>表示超链接指向的资源更适合于辅助浏览上下文,如侧边栏。 没有此类上下文的浏览器将忽略此关键字。</p> - - <p>虽然它曾经是 HTML 规范的一部分,但已从规范中删除,仅由 Firefox 63 之前的 Firefox 版本实现。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td>{{HTMLElement("form")}}</td> - </tr> - <tr> - <td><code>stylesheet</code></td> - <td> - <p>定义要用作样式表的外部资源。如果没有设置 <code>type</code>,在进一步检查之前,浏览器应该假定它是 <code>text/css</code> 样式表。<br> - <br> - 如果与 <code>alternate</code> 关键字结合使用,则定义一个 <a href="/en-US/docs/Alternative_style_sheets">可选样式表</a> ;在这种情况下,{{htmlattrxref("title", "link")}} 属性必须出现,而不能是空字符串。</p> - </td> - <td>{{HTMLElement("link")}}</td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - </tr> - <tr> - <td><code>tag</code></td> - <td> - <p>指示超链接引用了描述适用于该文档的标签的文档。</p> - - <p><strong>注意</strong>:不应在标签云的链接成员上设置此链接类型,因为这些链接对象不适用于单个文档,而不适用于一组页面。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> - <td><em>{{HTMLElement("link")}}.</em></td> - </tr> - <tr> - <td><code>up</code> {{Deprecated_Inline}}</td> - <td> - <p>指示页面是层次结构的一部分,并且超链接指向该结构的更高级别的资源。</p> - - <p>上行链接类型的数量表示当前页面和链接资源之间的深度差。</p> - </td> - <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("link")}}</td> - <td><em>None.</em></td> - </tr> - </tbody> + <caption> + 下面是链接类型及其在 HTML 中的意义 + </caption> + <thead> + <tr> + <th scope="col">链接类型</th> + <th scope="col">描述</th> + <th scope="col" style="width: 12em">支持的元素</th> + <th scope="col">不被支持的元素</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>alternate</code></td> + <td> + <ul> + <li> + 如果是{{HTMLElement("link")}}元素,并且{{htmlattrxref("rel", "link")}}属性包括 + stylesheet,则这个 link 定义为 alternate 样式表;那样的话 + {{htmlattrxref("title", "link")}} 属性不能为空。 + </li> + <li> + 如果{{htmlattrxref("type","link")}}设置为<code>application/rss+xml</code>或者<code>application/atom+xml</code>, + 则 link 被定义为<a + href="/en-US/docs/RSS/Getting_Started/Syndicating" + >syndication feed</a + >. 页面中第一个被定义的为默认的。 + </li> + <li> + 其它情况 link 定义为 alternate 页面: + <ul> + <li> + 另一种介质,例如手持设备 (如果设置了 + {{htmlattrxref("media","link")}} 属性), + </li> + <li> + 另一种语言 + (如果设置了{{htmlattrxref("hreflang","link")}} + 属性), + </li> + <li> + 另一种格式,例如 PDF + (如果设置了{{htmlattrxref("type","link")}} 属性), + </li> + <li>或者是以上这些的集合。</li> + </ul> + </li> + </ul> + <p> + (译注:link 的 alternate 定义了一个可替换的样式表,它和第一个 link + 元素同时使用,第一个定义了首选样式,而 alternate + 则让用户可选择替换的样式。但这个替换操作需要 + 浏览器支持,但很多浏览器比如 IE 都是不支持的。 + </p> + <p> + 所以使用到替换样式的网页,一般都用一些样式表切换的 + JS,让用户可以自由切换界面样式。这个应该大家都见过,一些网站会给网页定义多种配色。 + 稍高阶的一些,还可以利用 JS + 弄成随时间变化样式的,比如白天的时候显示成明色,晚上的时候显示成暗色。) + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td> + <p><em>None</em>.</p> + </td> + </tr> + <tr> + <td> + <p><code>archives</code>{{Deprecated_Inline}}</p> + </td> + <td> + 定义文档的超链接,该文档包含此文件的存档链接。例如。一个博客入口可以链接到每月索引页面。<br /><br /><strong + >Note:</strong + >虽然可以识别,但单数<code>archive</code>是不正确的,必须避免使用。 + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>author</code></td> + <td> + 定义一个超链接到一个描述作者信息的页面或者提供一个方法联系作者。<br /><br /><strong + >Note:</strong + > + 这个方法可能是 + mailto:邮箱链接,但不推荐这样,这样可能导致机器人发送大量的垃圾邮件到这个邮箱。这种情况下,最好带一个包含联系方法的页面.。<br /><br />在{{HTMLElement("a")}}, + {{HTMLElement("area")}} or{{HTMLElement("link")}} + 标签的{{htmlattrxref("rev", "link")}}属性上,虽然能够识别 + <code>made,但并不正确,应该用</code + >{{htmlattrxref("rel", "link")}} 属性替换。 + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>bookmark</code></td> + <td> + 表明这个链接是一个固定链接,对于最近的{{HTMLElement("article")}} + 祖先标签。如果没有,则表最近的 section 标签<br />bookmark + 允许标识一个包括多个文档的页面,例如每月汇总的博客页面,或者博客集合。 + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td><code>canonical</code></td> + <td> + <p> + 来自维基百科: + <a href="https://en.wikipedia.org/wiki/Canonical_link_element" + >Canonical_link_element</a + ><br />规范链接元素是一个 HTML 元素,它通过指定 web + 页面的“规范”或“首选”版本作为搜索引擎优化的一部分,帮助网站管理员防止重复的内容问题。 + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("form")}} + </td> + </tr> + <tr> + <td><code>dns-prefetch</code>{{experimental_inline}}</td> + <td>提示浏览器该资源需要在用户点击链接之前进行 DNS 查询和协议握手。</td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td><code>external</code></td> + <td> + 表明这个链接,是一个相对于当前网站的外部资源。点击这个链接会离开当前网站。 + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td><code>first</code> {{Deprecated_Inline}}</td> + <td> + 表明这个链接是当前页面资源序列中的第一个<br /><br /><strong + >Note:</strong + > + 其它选项<code>last</code>, <code>prev</code>, + <code>next</code + >.<br /><br />虽然可以识别,但同义词<code>begin</code>和<code>start</code>是不正确的,必须避免使用。 + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>help</code></td> + <td> + <ul> + <li> + 如果是一个{{HTMLElement("a")}} 或者 + {{HTMLElement("area")}}标签,help + 表明这个链接,链接到一个关于父亲标签和它的后代的进一步帮助资源; + </li> + <li> + 如果是一个{{HTMLElement("link")}}标签,help + 表明这个链接,链接到一个关于整个页面的进一步帮助资源。 + </li> + </ul> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>icon</code></td> + <td> + <p> + 定义一个在用户界面上代表这个页面的资源,通常是一个图标(包括声音和图像)<br /><br />{{htmlattrxref("media","link")}}, + {{htmlattrxref("type","link")}} and + {{htmlattrxref("sizes","link")}} + 属性允许浏览器选择其上下文中最合适的图标。如果多种资源符合条件,浏览器会选择最后一个。 + </p> + <p> + 在树型序列中,由于这些属性只是提示,并且这这些资源在进一步检查时可能是不适合的,浏览器可能选择另一个适合的。<br /><br /><strong + >Note:</strong + > + 苹果 iOS 不支持此链接类型,也不支持 + {{htmlattrxref("sizes","link")}}属性,就像其他移动端浏览器一样,为了 + Web Clip 或者启动点位符选择一个页面图标。分别可使用不是标准方法的<a + href="http://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW4" + ><code>apple-touch-icon</code></a + > + 和<a + href="http://edr.euro.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/uid/TP40002051-CH3-SW6" + ><code>apple-touch-startup-image</code></a + > + 替代。<br /><br /><code>在之前,经常可以看到 shortcut</code + >,但他不是标准的,<strong>应该不再使用</strong>。 + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td><code>import</code> {{Experimental_Inline}}</td> + <td> + <a + href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/HTML_Imports" + >HTML Imports</a + > + </td> + <td></td> + <td></td> + </tr> + <tr> + <td> + <p><code>index</code> {{Deprecated_Inline}}</p> + </td> + <td> + <p> + 表明这个页面是一个等级体系的一部分,这个超链接指向该体系的最顶层资源。 + </p> + <p> + 如果存在一个或几个 + <code>up</code + >链接,那么<code>up</code>链接的数目就是当前页面在这个等级体系里的深度。 + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>last</code> {{Deprecated_Inline}}</td> + <td> + <p>表明该超链接指向当前页面所在序列中的最后资源。</p> + <p> + <strong>Note:</strong>该序列中其他相关链接资源的 link 的 type + 值是<code>first</code>, <code>prev</code>, <code>next。</code> + </p> + <p>虽然可以识别,但同义词<code>end</code>是不正确的,必须避免使用。</p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>license</code></td> + <td> + <p> + 表示超链接指向描述许可信息的文档。 + 如果不在{{HTMLElement("head")}}元素内,则该标准不会区分应用于文档特定部分或整个文档的超链接。 + 仅页面上的数据可以表明这一点。 + </p> + <p> + <strong>Note:</strong + >虽然可以识别,但同义词<code>copyright</code>是不正确的,必须避免使用。 + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>manifest</code></td> + <td> + 表示链接到的文件是 + <a href="https://developer.mozilla.org/en-US/docs/Web/Manifest" + >Web App Manifest</a + >. + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td><code>modulepreload</code></td> + <td><p>更早和更高优先级的加载模块脚本</p></td> + <td>{{HTMLElement("link")}}</td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}},<br />{{HTMLElement("form")}} + </td> + </tr> + <tr> + <td><code>next</code></td> + <td> + <p> + 表明该超链接指向的是当前页面所在序列中的下一个资源。<br /><br /><strong + >注意:</strong + >该序列中其他相关链接资源的 link 的 type 值是<code>first</code>, + <code>prev</code>, <code>last。</code> + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>nofollow</code></td> + <td> + 表示本文档的作者不想宣传链接的文档,例如,它是不受控的,它是一个坏的例子或如果它们有商业关系(销售环节)。nofollow + 主要是被一些使用人气排名技术的搜索引擎所使用。 + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td> + <p><code>noopener</code></p> + </td> + <td> + <p> + 指示浏览器打开链接而不授予新的浏览上下文对打开它的文档的访问权限 - + 通过在打开的窗口中不设置{{domxref("Window.opener")}}属性(返回 + null)。 + </p> + <p> + 当打开不受信任的链接时,这特别有用,以确保它们无法通过{{domxref("Window.opener")}}属性来篡改原始文档(有关更多详细信息,请参阅 + <a href="https://mathiasbynens.github.io/rel-noopener/" + >About rel=noopener</a + >),同时仍提供 Referer HTTP 标头(除非也使用 noreferrer)。 + </p> + <p> + 请注意,使用<code>noopener</code>时,在决定是否打开新窗口/选项卡方面,除<code>_top</code>,<code>_self</code>和<code + >_parent</code + > + 以外的非空目标名称都被视为<code>_blank</code> 。 + </p> + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td><code>noreferrer</code></td> + <td> + <p> + 阻止浏览器导航到另一个页面时,通过 Referer:HTTP header + 将该页面地址或任何其他值作为 Referrer 发送。<br />(在 Firefox 37 + 之前的 Firefox 中,此功能仅在页面中找到的链接中有效。在 UI + 中单击的链接(例如通过上下文菜单“在新选项卡中打开”)被忽略了)。 + </p> + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td><code>opener</code> {{Experimental_Inline}}</td> + <td> + 恢复带有<code>target="_blank"</code>的链接上的隐式<code>rel="noopener"</code>添加(请参阅<a + href="https://github.com/whatwg/html/issues/4078" + >相关的 HMTL 规范讨论</a + >, + <a href="https://trac.webkit.org/changeset/237144/webkit/" + >WebKit change</a + >和<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1503681" + >Firefox bug discussion</a + >)。 + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}},<br />{{HTMLElement("form")}} + </td> + <td>{{HTMLElement("link")}}</td> + </tr> + <tr> + <td><code>pingback</code><br /></td> + <td> + <p> + 定义一个外部资源 URI,以便在对该网页发表评论或引用时调用。 在 + <a href="http://www.hixie.ch/specs/pingback/pingback">Pingback 1.0</a> + 规范中定义了用于进行此类调用的协议。 + </p> + <p> + 注意:如果还存在 X-Pingback:HTTP + 标头,则此标头优先于具有这种链接类型的{{HTMLElement("link")}}元素 + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td> + <p><code>preconnect</code>{{experimental_inline}}</p> + </td> + <td> + 向浏览器提供提示,建议浏览器提前打开与链接网站的连接,而不会泄露任何私人信息或下载任何内容,以便在跟随链接时可以更快地获取链接内容。 + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td> + <a href="/zh-CN/docs/Web/HTML/Link_types/prefetch" + ><code>prefetch</code></a + > + </td> + <td> + 提示浏览器提前加载链接的资源,因为它可能会被用户请求。 + <p> + 建议浏览器提前获取链接的资源,因为它很可能会被用户请求。 从 Firefox 44 + 开始,考虑了{{HTMLAttrxRef("crossorigin", "link")}}属性的值,从而可以进行匿名预取。 + </p> + <p> + 注意:<a href="/en-US/docs/Link_prefetching_FAQ">Link Prefetch FAQ</a + >详细说明了可以预取的链接以及替代方法。 + </p> + </td> + <td> + {{HTMLElement("a")}} {{unimplemented_inline}},<br />{{HTMLElement("area")}} + {{unimplemented_inline}},<br />{{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td> + <a href="/zh-CN/docs/Web/HTML/Link_types/preload" + ><code>preload</code></a + > + </td> + <td> + <p> + 告诉浏览器下载资源,因为在当前导航期间稍后将需要该资源。有关详细信息,请参见 + <a + href="https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content" + >Preloading content with rel="preload"</a + > + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}},<br />{{HTMLElement("form")}} + </td> + </tr> + <tr> + <td><code>prerender</code>{{experimental_inline}}</td> + <td> + 建议浏览器事先获取链接的资源,并建议将预取的内容显示在屏幕外,以便在需要时可以将其快速呈现给用户。 + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td><code>prev</code></td> + <td> + <p>指示超链接指向当前页面所在序列的优先资源。</p> + <p> + 注意:与按相同顺序链接资源有关的其他链接类型是<code>first</code>,<code>last</code>,<code>next</code>。 + </p> + <p> + 虽然可以识别,但同义词<code>previous</code>是不正确的,必须避免使用。 + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>search</code></td> + <td> + <p> + 表示超链接引用了一个文档,该文档的接口专门设计用于在此文档或站点及其资源中进行搜索。 + </p> + <p> + 如果将{{htmlattrxref("type","link")}}属性设置为<code>application/opensearchdescription+xml</code>,则该资源是<a + href="/en-US/docs/Creating_OpenSearch_plugins_for_Firefox" + >OpenSearch 插件</a + >,可以轻松将其添加到 Firefox 或 Internet Explorer + 等某些浏览器的界面中。 + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + <tr> + <td><code>shortlink</code></td> + <td> + <p> + <a + href="https://code.google.com/archive/p/shortlink/wikis/Specification.wiki" + ><code>shortlink</code> 规范</a + ><br />来自维基百科: + <a href="https://en.wikipedia.org/wiki/URL_shortening" + >URL shortening</a + ><br />一些网站创建短链接,使通过即时消息共享链接更容易。 + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td><em>None.</em></td> + </tr> + <tr> + <td> + <code>sidebar</code> + {{Non-standard_Inline}}{{Deprecated_Inline}} + </td> + <td> + <p> + 表示超链接指向的资源更适合于辅助浏览上下文,如侧边栏。 + 没有此类上下文的浏览器将忽略此关键字。 + </p> + <p> + 虽然它曾经是 HTML 规范的一部分,但已从规范中删除,仅由 Firefox 63 + 之前的 Firefox 版本实现。 + </p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td>{{HTMLElement("form")}}</td> + </tr> + <tr> + <td><code>stylesheet</code></td> + <td> + <p> + 定义要用作样式表的外部资源。如果没有设置 + <code>type</code>,在进一步检查之前,浏览器应该假定它是 + <code>text/css</code> 样式表。<br /><br />如果与 + <code>alternate</code> 关键字结合使用,则定义一个 + <a href="/en-US/docs/Alternative_style_sheets">可选样式表</a> + ;在这种情况下,{{htmlattrxref("title", "link")}} + 属性必须出现,而不能是空字符串。 + </p> + </td> + <td>{{HTMLElement("link")}}</td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + </tr> + <tr> + <td><code>tag</code></td> + <td> + <p>指示超链接引用了描述适用于该文档的标签的文档。</p> + <p> + <strong>注意</strong + >:不应在标签云的链接成员上设置此链接类型,因为这些链接对象不适用于单个文档,而不适用于一组页面。 + </p> + </td> + <td>{{HTMLElement("a")}}, {{HTMLElement("area")}}</td> + <td><em>{{HTMLElement("link")}}.</em></td> + </tr> + <tr> + <td><code>up</code> {{Deprecated_Inline}}</td> + <td> + <p> + 指示页面是层次结构的一部分,并且超链接指向该结构的更高级别的资源。 + </p> + <p>上行链接类型的数量表示当前页面和链接资源之间的深度差。</p> + </td> + <td> + {{HTMLElement("a")}}, {{HTMLElement("area")}}, + {{HTMLElement("link")}} + </td> + <td><em>None.</em></td> + </tr> + </tbody> </table> -<h2 id="Specifications">规范</h2> +## 规范 {{Specifications}} -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>{{Compat}}</p> +{{Compat}} diff --git a/files/zh-cn/web/html/microdata/index.md b/files/zh-cn/web/html/microdata/index.md index 12a37a5d019600..3dcf64d2fb2dab 100644 --- a/files/zh-cn/web/html/microdata/index.md +++ b/files/zh-cn/web/html/microdata/index.md @@ -5,157 +5,151 @@ tags: - 微数据 搜索 搜索引擎优化 translation_of: Web/HTML/Microdata --- -<h2 id="概要">概要</h2> +## 概要 -<p>微数据是<a href="https://developer.mozilla.org/en-US/docs/Glossary/WHATWG">WHATWG</a> HTML 标准的一部分,用于在网页上的现有内容中嵌套元数据。[1] 搜索引擎,网络抓取工具和浏览器可以从网页中提取和处理微数据,并使用它为用户提供更丰富的浏览体验。搜索引擎从直接访问此结构化数据中受益匪浅,因为它允许搜索引擎了解网页上的信息并向用户提供更相关的结果。微数据使用支持词汇表来描述项目和名称 - 值对,以便为其属性赋值。与使用 RDFa 和微格式的类似方法相比,微数据试图提供一种使用机器可读标签注释 HTML 元素的简单方法。</p> +微数据是[WHATWG](/zh-CN/docs/Glossary/WHATWG) HTML 标准的一部分,用于在网页上的现有内容中嵌套元数据。\[1] 搜索引擎,网络抓取工具和浏览器可以从网页中提取和处理微数据,并使用它为用户提供更丰富的浏览体验。搜索引擎从直接访问此结构化数据中受益匪浅,因为它允许搜索引擎了解网页上的信息并向用户提供更相关的结果。微数据使用支持词汇表来描述项目和名称 - 值对,以便为其属性赋值。与使用 RDFa 和微格式的类似方法相比,微数据试图提供一种使用机器可读标签注释 HTML 元素的简单方法。 -<p>高级的微数据由一组 name-value 对组成。这些组称为项,每个 name-value 对都是一个属性。项目和属性由常规元素表示。</p> +高级的微数据由一组 name-value 对组成。这些组称为项,每个 name-value 对都是一个属性。项目和属性由常规元素表示。 -<ul> - <li>创建项目,请使用<strong>itemscope</strong>属性。</li> - <li>向项添加属性,<strong>itemprop</strong>属性将用于其中一个项的后代。</li> -</ul> +- 创建项目,请使用**itemscope**属性。 +- 向项添加属性,**itemprop**属性将用于其中一个项的后代。 -<h2 id="词汇表">词汇表</h2> +## 词汇表 -<p>谷歌和其他主要搜索引擎支持结构化数据的<a href="schema.org">Schema.org</a>词汇表。此词汇表定义了一组标准类型名称和属性名称,例如,<a href="http://schema.org/MusicEvent">Schema.org Music Event</a>表示音乐会表演,<a href="http://schema.org/startDate">startDate</a>和<a href="http://schema.org/location">location</a> 属性用于指定音乐会的关键细节。在这种情况下,<a href="http://schema.org/MusicEvent">Schema.org Music Event</a>将是<code>itemtype</code>和<code>startDate</code>使用的 URL,而<code>location</code>将是<a href="http://schema.org/MusicEvent">Schema.org Music Event</a> 定义的<code>itemprop</code>。</p> +谷歌和其他主要搜索引擎支持结构化数据的[Schema.org](schema.org)词汇表。此词汇表定义了一组标准类型名称和属性名称,例如,[Schema.org Music Event](http://schema.org/MusicEvent)表示音乐会表演,[startDate](http://schema.org/startDate)和[location](http://schema.org/location) 属性用于指定音乐会的关键细节。在这种情况下,[Schema.org Music Event](http://schema.org/MusicEvent)将是`itemtype`和`startDate`使用的 URL,而`location`将是[Schema.org Music Event](http://schema.org/MusicEvent) 定义的`itemprop`。 -<div class="note"> -<p><strong>注意:</strong> 有关 itemtype 属性的更多信息,请访问<a href="http://schema.org/Thing">http://schema.org/Thing</a>。</p> -</div> +> **备注:** 有关 itemtype 属性的更多信息,请访问<http://schema.org/Thing>。 -<p>微数据词汇表提供了项目的语义或含义。 Web 开发人员可以设计自定义词汇表或使用 Web 上可用的词汇表,例如广泛使用的<a href="http://schema.org">schema.org</a> 词汇表。 <a href="http://schema.org">schema.org</a> 提供了一组常用的标记词汇表。</p> +微数据词汇表提供了项目的语义或含义。 Web 开发人员可以设计自定义词汇表或使用 Web 上可用的词汇表,例如广泛使用的[schema.org](http://schema.org) 词汇表。 [schema.org](http://schema.org) 提供了一组常用的标记词汇表。 -<p>常用词汇:</p> +常用词汇: -<ul> - <li>Creative works: <a href="http://schema.org/CreativeWork">CreativeWork</a>, <a href="http://schema.org/Book">Book</a>, <a href="http://schema.org/Movie">Movie</a>, <a href="http://schema.org/MusicRecording">MusicRecording</a>, <a href="http://schema.org/Recipe">Recipe</a>, <a href="http://schema.org/TVSeries">TVSeries</a></li> - <li>Embedded non-text objects: <a href="http://schema.org/AudioObject">AudioObject</a>, <a href="http://schema.org/ImageObject">ImageObject</a>, <a href="http://schema.org/VideoObject">VideoObject</a></li> - <li><a href="http://schema.org/Event">Event</a></li> - <li><a href="http://schema.org/docs/meddocs.html">Health and medical types</a>: Notes on the health and medical types under <a href="http://schema.org/MedicalEntity">MedicalEntity</a></li> - <li><a href="http://schema.org/Organization">Organization</a></li> - <li><a href="http://schema.org/Person">Person</a></li> - <li><a href="http://schema.org/Place">Place</a>, <a href="http://schema.org/LocalBusiness">LocalBusiness</a>, <a href="http://schema.org/Restaurant">Restaurant</a></li> - <li><a href="http://schema.org/Product">Product</a>, <a href="http://schema.org/Offer">Offer</a>, <a href="http://schema.org/AggregateOffer">AggregateOffer</a></li> - <li><a href="http://schema.org/Review">Review</a>, <a href="http://schema.org/AggregateRating">AggregateRating</a></li> - <li><a href="http://schema.org/Action">Action</a></li> - <li><a href="http://schema.org/Thing">Thing</a></li> - <li><a href="http://schema.org/Intangible">Intangible</a></li> -</ul> +- Creative works: [CreativeWork](http://schema.org/CreativeWork), [Book](http://schema.org/Book), [Movie](http://schema.org/Movie), [MusicRecording](http://schema.org/MusicRecording), [Recipe](http://schema.org/Recipe), [TVSeries](http://schema.org/TVSeries) +- Embedded non-text objects: [AudioObject](http://schema.org/AudioObject), [ImageObject](http://schema.org/ImageObject), [VideoObject](http://schema.org/VideoObject) +- [Event](http://schema.org/Event) +- [Health and medical types](http://schema.org/docs/meddocs.html): Notes on the health and medical types under [MedicalEntity](http://schema.org/MedicalEntity) +- [Organization](http://schema.org/Organization) +- [Person](http://schema.org/Person) +- [Place](http://schema.org/Place), [LocalBusiness](http://schema.org/LocalBusiness), [Restaurant](http://schema.org/Restaurant) +- [Product](http://schema.org/Product), [Offer](http://schema.org/Offer), [AggregateOffer](http://schema.org/AggregateOffer) +- [Review](http://schema.org/Review), [AggregateRating](http://schema.org/AggregateRating) +- [Action](http://schema.org/Action) +- [Thing](http://schema.org/Thing) +- [Intangible](http://schema.org/Intangible) -<p>谷歌,微软和雅虎等主要搜索引擎运营商依靠<a href="http://schema.org/">schema.org</a> 词汇表来改进搜索结果。实现一般目标,临时词汇就足够了。对于其他的,可能需要设计一个词汇表。在可能的情况下,鼓励作者重用现有的词汇表,因为这样可以更轻松地重复使用内容。</p> +谷歌,微软和雅虎等主要搜索引擎运营商依靠[schema.org](http://schema.org/) 词汇表来改进搜索结果。实现一般目标,临时词汇就足够了。对于其他的,可能需要设计一个词汇表。在可能的情况下,鼓励作者重用现有的词汇表,因为这样可以更轻松地重复使用内容。 -<h2 id="本地化">本地化</h2> +## 本地化 -<p>在某些情况下,覆盖特定区域的搜索引擎可以提供微数据的本地特定扩展。例如,<a href="https://www.yandex.com/">Yandex</a>是俄罗斯的主要搜索引擎,支持微格式,如 hCard(公司联系信息),hRecipe(食品配方),hReview(市场评论)和 hProduct(产品数据),并提供自己的格式来定义术语和百科全书文章。这个扩展是为了解决西里尔字母和拉丁字母之间的音译问题。由于 Schema 词汇表的附加标记参数的实现,俄语网页中的信息索引变得更加成功。</p> +在某些情况下,覆盖特定区域的搜索引擎可以提供微数据的本地特定扩展。例如,[Yandex](https://www.yandex.com/)是俄罗斯的主要搜索引擎,支持微格式,如 hCard(公司联系信息),hRecipe(食品配方),hReview(市场评论)和 hProduct(产品数据),并提供自己的格式来定义术语和百科全书文章。这个扩展是为了解决西里尔字母和拉丁字母之间的音译问题。由于 Schema 词汇表的附加标记参数的实现,俄语网页中的信息索引变得更加成功。 -<h2 id="全局属性">全局属性</h2> +## 全局属性 -<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemid">itemid </a>– 项的唯一全局标识符。</p> +[itemid ](/zh-CN/docs/Web/HTML/Global_attributes/itemid)– 项的唯一全局标识符。 -<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop">itemprop </a>– 用于向项添加属性。每个 HTML 元素都可以指定一个 itemprop 属性,其中 itemprop 由一个名称和值对组成。</p> +[itemprop ](/zh-CN/docs/Web/HTML/Global_attributes/itemprop)– 用于向项添加属性。每个 HTML 元素都可以指定一个 itemprop 属性,其中 itemprop 由一个名称和值对组成。 -<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemref">itemref </a>– 不具有<code>itemscope</code>属性的元素的后代的属性可以使用<strong>itemref</strong>与项目相关联。 Itemref 提供了元素 id 列表(而不是<code>itemids</code>)以及文档中其他位置的其他属性。</p> +[itemref ](/zh-CN/docs/Web/HTML/Global_attributes/itemref)– 不具有`itemscope`属性的元素的后代的属性可以使用**itemref**与项目相关联。 Itemref 提供了元素 id 列表(而不是`itemids`)以及文档中其他位置的其他属性。 -<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemscope">itemscope </a>– Itemscope(通常)与<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemtype">itemtype</a>一起使用,以指定块中包含的关于特定项目的 HTML。 itemscope 创建 Item 并定义与之关联的 itemtype 的范围。 itemtype 是描述项及其属性上下文的词汇表(例如<a href="http://schema.org/">schema.org</a>)的有效 URL。</p> +[itemscope ](/zh-CN/docs/Web/HTML/Global_attributes/itemscope)– Itemscope(通常)与[itemtype](/zh-CN/docs/Web/HTML/Global_attributes/itemtype)一起使用,以指定块中包含的关于特定项目的 HTML。 itemscope 创建 Item 并定义与之关联的 itemtype 的范围。 itemtype 是描述项及其属性上下文的词汇表(例如[schema.org](http://schema.org/))的有效 URL。 -<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemtype">itemtype </a>– 指定将用于在数据结构中定义 itemprop(项属性)的词汇表的 URL。 <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemscope">Itemscope</a> 用于设置数据结构中按 itemtype 设置的词汇表的有效范围。</p> +[itemtype ](/zh-CN/docs/Web/HTML/Global_attributes/itemtype)– 指定将用于在数据结构中定义 itemprop(项属性)的词汇表的 URL。 [Itemscope](/zh-CN/docs/Web/HTML/Global_attributes/itemscope) 用于设置数据结构中按 itemtype 设置的词汇表的有效范围。 -<h2 id="示例">示例</h2> +## 示例 -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush: html">&lt;div itemscope itemtype="http://schema.org/SoftwareApplication"&gt; - &lt;span itemprop="name"&gt;Angry Birds&lt;/span&gt; - +```html +<div itemscope itemtype="http://schema.org/SoftwareApplication"> + <span itemprop="name">Angry Birds</span> - - REQUIRES &lt;span itemprop="operatingSystem"&gt;ANDROID&lt;/span&gt;&lt;br&gt; - &lt;link itemprop="applicationCategory" href="http://schema.org/GameApplication"/&gt; + REQUIRES <span itemprop="operatingSystem">ANDROID</span><br> + <link itemprop="applicationCategory" href="http://schema.org/GameApplication"/> - &lt;div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"&gt; + <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> RATING: - &lt;span itemprop="ratingValue"&gt;4.6&lt;/span&gt; ( - &lt;span itemprop="ratingCount"&gt;8864&lt;/span&gt; ratings ) - &lt;/div&gt; - - &lt;div itemprop="offers" itemscope itemtype="http://schema.org/Offer"&gt; - Price: $&lt;span itemprop="price"&gt;1.00&lt;/span&gt; - &lt;meta itemprop="priceCurrency" content="USD" /&gt; - &lt;/div&gt; -&lt;/div&gt;</pre> + <span itemprop="ratingValue">4.6</span> ( + <span itemprop="ratingCount">8864</span> ratings ) + </div> + + <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> + Price: $<span itemprop="price">1.00</span> + <meta itemprop="priceCurrency" content="USD" /> + </div> +</div> +``` -<h3 id="Structured_data">Structured data</h3> +### Structured data <table class="standard-table"> - <tbody> - <tr> - <td colspan="1" rowspan="4">itemscope</td> - <td>itemtype</td> - <td colspan="2" rowspan="1">SoftwareApplication (http://schema.org/SoftwareApplication)</td> - </tr> - <tr> - <td>itemprop</td> - <td>name</td> - <td>Angry Birds</td> - </tr> - <tr> - <td>itemprop</td> - <td>operatingSystem</td> - <td>ANDROID</td> - </tr> - <tr> - <td>itemprop</td> - <td>applicationCategory</td> - <td>GameApplication (http://schema.org/GameApplication)</td> - </tr> - <tr> - <td colspan="1" rowspan="3">itemscope</td> - <td>itemprop[itemtype]</td> - <td colspan="2" rowspan="1">aggregateRating [AggregateRating]</td> - </tr> - <tr> - <td>itemprop</td> - <td>ratingValue</td> - <td>4.6</td> - </tr> - <tr> - <td>itemprop</td> - <td>ratingCount</td> - <td>8864</td> - </tr> - <tr> - <td colspan="1" rowspan="3">itemscope</td> - <td>itemprop[itemtype]</td> - <td colspan="2" rowspan="1">offers [Offer]</td> - </tr> - <tr> - <td>itemprop</td> - <td>price</td> - <td>1.00</td> - </tr> - <tr> - <td>itemprop</td> - <td>priceCurrency</td> - <td>USD</td> - </tr> - </tbody> + <tbody> + <tr> + <td colspan="1" rowspan="4">itemscope</td> + <td>itemtype</td> + <td colspan="2" rowspan="1"> + SoftwareApplication (http://schema.org/SoftwareApplication) + </td> + </tr> + <tr> + <td>itemprop</td> + <td>name</td> + <td>Angry Birds</td> + </tr> + <tr> + <td>itemprop</td> + <td>operatingSystem</td> + <td>ANDROID</td> + </tr> + <tr> + <td>itemprop</td> + <td>applicationCategory</td> + <td>GameApplication (http://schema.org/GameApplication)</td> + </tr> + <tr> + <td colspan="1" rowspan="3">itemscope</td> + <td>itemprop[itemtype]</td> + <td colspan="2" rowspan="1">aggregateRating [AggregateRating]</td> + </tr> + <tr> + <td>itemprop</td> + <td>ratingValue</td> + <td>4.6</td> + </tr> + <tr> + <td>itemprop</td> + <td>ratingCount</td> + <td>8864</td> + </tr> + <tr> + <td colspan="1" rowspan="3">itemscope</td> + <td>itemprop[itemtype]</td> + <td colspan="2" rowspan="1">offers [Offer]</td> + </tr> + <tr> + <td>itemprop</td> + <td>price</td> + <td>1.00</td> + </tr> + <tr> + <td>itemprop</td> + <td>priceCurrency</td> + <td>USD</td> + </tr> + </tbody> </table> -<h3 id="Result">Result</h3> +### Result -<p>{{ EmbedLiveSample('HTML', '', '100', '', 'Web/HTML/Microdata') }}</p> +{{ EmbedLiveSample('HTML', '', '100', '', 'Web/HTML/Microdata') }} -<div class="note"> -<p><strong>注意</strong>: 从 HTML 中提取微数据结构的便捷工具是 Google 的<a href="https://developers.google.com/structured-data/testing-tool/ Structured Data Testing Tool">Structured Data Testing Tool</a>。在上面显示的 HTML 上尝试一下。</p> -</div> +> **备注:** 从 HTML 中提取微数据结构的便捷工具是 Google 的[Structured Data Testing Tool](<https://developers.google.com/structured-data/testing-tool/ Structured Data Testing Tool>)。在上面显示的 HTML 上尝试一下。 -<h2 id="浏览器兼容性">浏览器兼容性</h2> +## 浏览器兼容性 -<p>在 Firefox 16 中支持,在 Firefox 49 中移除。</p> +在 Firefox 16 中支持,在 Firefox 49 中移除。 -<h2 id="相关链接">相关链接</h2> +## 相关链接 -<ul> - <li><a href="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a></li> -</ul> +- [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) -<p>{{QuickLinksWithSubpages("/en-US/docs/Web/HTML")}}</p> +{{QuickLinksWithSubpages("/en-US/docs/Web/HTML")}} diff --git a/files/zh-cn/web/html/quirks_mode_and_standards_mode/index.md b/files/zh-cn/web/html/quirks_mode_and_standards_mode/index.md index 3d346a1e89cff4..cb02d67cafcd81 100644 --- a/files/zh-cn/web/html/quirks_mode_and_standards_mode/index.md +++ b/files/zh-cn/web/html/quirks_mode_and_standards_mode/index.md @@ -7,44 +7,46 @@ tags: - 指南 translation_of: Web/HTML/Quirks_Mode_and_Standards_Mode --- -<p>在很久以前的网络上,页面通常有两种版本:为网景(Netscape)的 Navigator 准备的版本,以及为微软(Microsoft)的 Internet Explorer 准备的版本。当 W3C 创立网络标准后,为了不破坏当时既有的网站,浏览器不能直接弃用这些标准。因此,浏览器采用了两种模式,用以把能符合新规范的网站和老旧网站区分开。</p> +在很久以前的网络上,页面通常有两种版本:为网景(Netscape)的 Navigator 准备的版本,以及为微软(Microsoft)的 Internet Explorer 准备的版本。当 W3C 创立网络标准后,为了不破坏当时既有的网站,浏览器不能直接弃用这些标准。因此,浏览器采用了两种模式,用以把能符合新规范的网站和老旧网站区分开。 -<p>目前浏览器的排版引擎使用三种模式:怪异模式(Quirks mode)、接近标准模式(Almost standards mode)、以及标准模式(Standards mode)。在<strong>怪异模式</strong>下,排版会模拟 Navigator 4 与 Internet Explorer 5 的非标准行为。为了支持在网络标准被广泛采用前,就已经建好的网站,这么做是必要的。在<strong>标准模式</strong>下,行为即(但愿如此)由 HTML 与 CSS 的规范描述的行为。在<strong>接近标准模式</strong>下,只有少数的怪异行为被实现。</p> +目前浏览器的排版引擎使用三种模式:怪异模式(Quirks mode)、接近标准模式(Almost standards mode)、以及标准模式(Standards mode)。在**怪异模式**下,排版会模拟 Navigator 4 与 Internet Explorer 5 的非标准行为。为了支持在网络标准被广泛采用前,就已经建好的网站,这么做是必要的。在**标准模式**下,行为即(但愿如此)由 HTML 与 CSS 的规范描述的行为。在**接近标准模式**下,只有少数的怪异行为被实现。 -<h2 id="How_does_Mozilla_determine_which_mode_to_use.3F">浏览器如何决定使用哪个模式?</h2> +## 浏览器如何决定使用哪个模式? -<p>对 <a href="/en-US/docs/HTML">HTML</a> 文件来说,浏览器使用文件开头的 DOCTYPE 来决定用怪异模式处理或标准模式处理。为了确保你的页面使用标准模式,请确认你的页面如同本范例一样拥有 DOCTYPE:</p> +对 [HTML](/zh-CN/docs/HTML) 文件来说,浏览器使用文件开头的 DOCTYPE 来决定用怪异模式处理或标准模式处理。为了确保你的页面使用标准模式,请确认你的页面如同本范例一样拥有 DOCTYPE: -<pre class="brush: html">&lt;!DOCTYPE html&gt; -&lt;html&gt; - &lt;head&gt; - &lt;meta charset=UTF-8&gt; - &lt;title&gt;Hello World!&lt;/title&gt; - &lt;/head&gt; - &lt;body&gt; - &lt;/body&gt; -&lt;/html&gt;</pre> +```html +<!DOCTYPE html> +<html> + <head> + <meta charset=UTF-8> + <title>Hello World!</title> + </head> + <body> + </body> +</html> +``` -<p>范例中的 DOCTYPE,<code>&lt;!DOCTYPE html&gt;</code>,是所有可用的 DOCTYPE 之中最简单的,也是 HTML5 所推荐的。HTML 的早期变种也属于推荐标准,不过,当今的浏览器都会对这个 DOCTYPE 使用标准模式,就算是早已过时的 Internet Explorer 6 也一样。目前,并没有正当的理由,去使用其他更复杂的 DOCTYPE。如果你使用其他的 DOCTYPE,你可能会面临触发接近标准模式或者怪异模式的风险。</p> +范例中的 DOCTYPE,`<!DOCTYPE html>`,是所有可用的 DOCTYPE 之中最简单的,也是 HTML5 所推荐的。HTML 的早期变种也属于推荐标准,不过,当今的浏览器都会对这个 DOCTYPE 使用标准模式,就算是早已过时的 Internet Explorer 6 也一样。目前,并没有正当的理由,去使用其他更复杂的 DOCTYPE。如果你使用其他的 DOCTYPE,你可能会面临触发接近标准模式或者怪异模式的风险。 -<p>请确定你把 DOCTYPE 正确地置于 HTML 文件的顶端。如果有任何其他字符位于 DOCTYPE 之前,比如注释或 XML 声明,会导致 Internet Explorer 9 或更早期的浏览器触发怪异模式。</p> +请确定你把 DOCTYPE 正确地置于 HTML 文件的顶端。如果有任何其他字符位于 DOCTYPE 之前,比如注释或 XML 声明,会导致 Internet Explorer 9 或更早期的浏览器触发怪异模式。 -<p>在 HTML5 中,DOCTYPE 唯一的作用是启用标准模式。更早期的 HTML 标准中,DOCTYPE 会附加其他意义,但没有任何浏览器会将 DOCTYPE 用于怪异模式和标准模式之间互换以外的用途。</p> +在 HTML5 中,DOCTYPE 唯一的作用是启用标准模式。更早期的 HTML 标准中,DOCTYPE 会附加其他意义,但没有任何浏览器会将 DOCTYPE 用于怪异模式和标准模式之间互换以外的用途。 -<p>另请参阅 <a href="http://hsivonen.iki.fi/doctype/">when different browsers choose various modes</a> 的详细说明。</p> +另请参阅 [when different browsers choose various modes](http://hsivonen.iki.fi/doctype/) 的详细说明。 -<h3 id="XHTML"><strong>XHTML</strong></h3> +### XHTML -<p>如果你的网页使用 <a href="/en-US/docs/XHTML">XHTML</a> 并在 <code>Content-Type</code> HTTP 标头使用<code>application/xhtml+xml</code> MIME 类型,你不需要使用 DOCTYPE 启动标准模式,因为这种文件会永远使用标准模式。不过请注意,页面使用 <code>application/xhtml+xml</code> 会令 Internet Explorer 8 出于未知格式之故<a href="/en-US/docs/XHTML#Support">出现下载对话框</a>,因为首个支持 XHTML 的 Internet Explorer 版本是 Internet Explorer 9。</p> +如果你的网页使用 [XHTML](/zh-CN/docs/XHTML) 并在 `Content-Type` HTTP 标头使用`application/xhtml+xml` MIME 类型,你不需要使用 DOCTYPE 启动标准模式,因为这种文件会永远使用标准模式。不过请注意,页面使用 `application/xhtml+xml` 会令 Internet Explorer 8 出于未知格式之故[出现下载对话框](/zh-CN/docs/XHTML#Support),因为首个支持 XHTML 的 Internet Explorer 版本是 Internet Explorer 9。 -<p>如果你的类 XHTML 网页使用 <code>text/html</code> MIME 类型,浏览器会将其视为 HTML,这时就需要使用 DOCTYPE 启用标准模式。</p> +如果你的类 XHTML 网页使用 `text/html` MIME 类型,浏览器会将其视为 HTML,这时就需要使用 DOCTYPE 启用标准模式。 -<h2 id="What_are_the_differences_between_the_modes.3F">我要如何知道目前是哪个模式?</h2> +## 我要如何知道目前是哪个模式? -<p>在 Firefox 中,请从右键菜单选择 <em>查看页面信息</em>,然后查看 <em>渲染模式</em>。</p> +在 Firefox 中,请从右键菜单选择 _查看页面信息_,然后查看 _渲染模式_。 -<p>在 Internet Explorer 中,请按下 <kbd>F12</kbd>,然后查看 <em>文档模式</em>。</p> +在 Internet Explorer 中,请按下 <kbd>F12</kbd>,然后查看 _文档模式_。 -<h2 id="What_are_the_differences_between_the_modes.3F">这些模式有何不同?</h2> +## 这些模式有何不同? -<p>请参阅 <a href="/en-US/docs/Mozilla_Quirks_Mode_Behavior">list of quirks</a> 和 <a href="/en-US/docs/Gecko's_&quot;Almost_Standards&quot;_Mode">almost standards mode</a> 以了解这些模式之间的差别。</p> +请参阅 [list of quirks](/zh-CN/docs/Mozilla_Quirks_Mode_Behavior) 和 [almost standards mode](/zh-CN/docs/Gecko's_"Almost_Standards"_Mode) 以了解这些模式之间的差别。 diff --git a/files/zh-cn/web/html/reference/index.md b/files/zh-cn/web/html/reference/index.md index b87d9829798a91..2712afaec8cbc3 100644 --- a/files/zh-cn/web/html/reference/index.md +++ b/files/zh-cn/web/html/reference/index.md @@ -7,28 +7,24 @@ tags: - 参考 translation_of: Web/HTML/Reference --- -<div>{{HTMLSidebar}}</div> +{{HTMLSidebar}} -<p>HTML 是一种描述 Web 文档结构和语义的语言;它由<strong>元素</strong>组成,每个元素可以有一些<strong>属性</strong>。网页中的内容通过 HTML 元素标记,如{{HTMLElement("img")}}、{{HTMLElement("title")}}、{{HTMLElement("p")}}、{{HTMLElement("div")}} 等等。</p> +HTML 是一种描述 Web 文档结构和语义的语言;它由**元素**组成,每个元素可以有一些**属性**。网页中的内容通过 HTML 元素标记,如{{HTMLElement("img")}}、{{HTMLElement("title")}}、{{HTMLElement("p")}}、{{HTMLElement("div")}} 等等。 -<p>本文提供了您进行 Web 开发时可以参考的资料。MDN 提供了组成 HTML 的所有元素的参考和每个属性的参考,这些属性可以控制元素的行为。</p> +本文提供了您进行 Web 开发时可以参考的资料。MDN 提供了组成 HTML 的所有元素的参考和每个属性的参考,这些属性可以控制元素的行为。 -<h2 id="Documentation">内容</h2> +## 内容 -<dl> - <dt><a href="/zh-CN/docs/Web/HTML/Element">HTML 元素参考</a></dt> - <dd>此页面列出了所有 tag 创建的 HTML elements 。它们按功能分组,以帮助您轻松找到想要的内容。页面左侧边栏中列出了所有元素,当然也包含在了这个页面中。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Attributes">HTML 属性参考</a></dt> - <dd>HTML 中的元素是有属性的;这些额外的属性值可以配置元素或者以各种方式来调整元素的行为,进而满足用户所需的标准。</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Global_attributes">全局属性</a></dt> - <dd>TBD</dd> - <dt><a href="/zh-CN/docs/Web/HTML/Link_types">链接类型</a></dt> - <dd>在超文本标记语言中,在两种文档之间可以指定&lt;a&gt;, &lt;area&gt;或&lt;link&gt; 元素使一个页面链接到另一个页面。</dd> -</dl> +- [HTML 元素参考](/zh-CN/docs/Web/HTML/Element) + - : 此页面列出了所有 tag 创建的 HTML elements 。它们按功能分组,以帮助您轻松找到想要的内容。页面左侧边栏中列出了所有元素,当然也包含在了这个页面中。 +- [HTML 属性参考](/zh-CN/docs/Web/HTML/Attributes) + - : HTML 中的元素是有属性的;这些额外的属性值可以配置元素或者以各种方式来调整元素的行为,进而满足用户所需的标准。 +- [全局属性](/zh-CN/docs/Web/HTML/Global_attributes) + - : TBD +- [链接类型](/zh-CN/docs/Web/HTML/Link_types) + - : 在超文本标记语言中,在两种文档之间可以指定\<a>, \<area>或\<link> 元素使一个页面链接到另一个页面。 -<h2 id="Tools">指南和教程</h2> +## 指南和教程 -<dl> - <dt><a href="/zh-CN/docs/Web/Guide/HTML">HTML 开发者指南</a></dt> - <dd>MDN 文章介绍了用于构建网页的特定 HTML 技巧,还有教程和其他资料。</dd> -</dl> +- [HTML 开发者指南](/zh-CN/docs/Web/Guide/HTML) + - : MDN 文章介绍了用于构建网页的特定 HTML 技巧,还有教程和其他资料。