blog/docs/code/html/html5-property.md

734 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: HTML 的属性
date: 2020-11-10 15:55:09
tags: [HTML]
categories: [HTML]
author: Anges黎梦
---
## 属性概览
> 部分为 HTML5 中添加的属性
|属性| 描述|
|---|:---:|
|accesskey| 规定激活元素的快捷键。|
|class| 规定元素的一个或多个类名(引用样式表中的类)。|
|contenteditable| 规定元素内容是否可编辑。|
|contextmenu| 规定元素的上下文菜单。上下文菜单在用户点击元素时显示。|
|data-* |用于存储页面或应用程序的私有定制数据。|
|dir |规定元素中内容的文本方向。|
|draggable| 规定元素是否可拖动。|
|dropzone| 规定在拖动被拖动数据时是否进行复制、移动或链接。|
|hidden |规定元素仍未或不再相关。|
|id |规定元素的唯一 id。|
|lang |规定元素内容的语言。|
|spellcheck |规定是否对元素进行拼写和语法检查。|
|style| 规定元素的行内 CSS 样式。|
|tabindex| 规定元素的 tab 键次序。|
|title| 规定有关元素的额外信息。|
|translate |规定是否应该翻译元素内容。|
## 属性详情
### accesskey
> 带有指定快捷键的超链接
```text
\<a href="http://www.angeszhu.cn/" accesskey="h"\>黎梦逼逼叨\</a\>\<br /\>
```
#### 浏览器支持
几乎所有浏览器均 `accesskey` 属性,除了 `Opera`
#### 定义和用法
`accesskey` 属性规定激活(使元素获得焦点)元素的快捷键。
#### 提示和注释
以下元素支持 accesskey 属性:
```text
\<a\> \<area\> \<button\> \<input\> \<label\> \<legend\> \<textarea\>
```
#### 语法
```text
\<element accesskey="character"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|character |规定激活(使元素获得焦点)元素的便捷按键。|
### class
> 在 HTML 文档中使用 class 属性
```text
\<html\>
\<head\>
\<style type="text/css"\>
h1.intro {color:blue;}
p.important {color:green;}
\</style\>
\</head\>
\<body\>
\<h1 class="intro"\>Header 1\</h1\>
\<p\>A paragraph.\</p\>
\<p class="important"\>Note that this is an important paragraph.\</p\>
\</body\>
\</html\>
```
#### 定义和用法
class 属性规定元素的类名classname
class 属性大多数时候用于指向样式表中的类class
不过,也可以利用它通过 JavaScript 来改变带有指定 class 的 HTML 元素。
#### 提示和注释
class 属性不能在以下 HTML 元素中使用:
```text
base head html meta param script style title。
```
可以给 HTML 元素赋予多个 class
```text
\<span class="left_menu important"\>
```
这么做可以把若干个 CSS 类合并到一个 HTML 元素。
`类名不能以数字开头!只有 Internet Explorer 支持这种做法。
`
#### 浏览器支持
W3C: "W3C" 列指示 W3C 的 HTML/XHTML 推荐标准中是否定义了该属性。
|IE |Firefox |Opera |Safari|
|---|:---:|:---:|:---:|
|YES |YES| YES| YES|
#### 语法
```text
\<element class="value"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|classname |规定元素的类的名称。如需为一个元素规定多个类,用空格分隔类名。|
### contenteditable
#### 实例
一段可编辑的段落:
```text
\<p contenteditable="true"\>这是一个可编辑的段落。\</p\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
所有主流浏览器都支持 `contenteditable` 属性。
#### 定义和用法
`contenteditable` 属性规定元素内容是否可编辑。
注释:如果元素未设置 `contenteditable` 属性,那么元素会从其父元素继承该属性。
#### HTML 4.01 与 HTML5 之间的差异
`contenteditable` 属性是 `HTML5` 中的新属性。
#### 语法
```text
\<element contenteditable="true|false"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|true |规定元素可编辑。|
|false |规定元素不可编辑。|
### contextmenu
#### 实例
规定 \<div\> 元素的上下文菜单。上下文菜单会在用户右键点击元素时出现:
```text
\<div contextmenu="mymenu"\>
\<menu type="context" id="mymenu"\>
\<menuitem label="Refresh"\>\</menuitem\>
\<menuitem label="Twitter"\>\</menuitem\>
\</menu\>
\</div\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| NO |YES| NO| NO| NO|
目前只有 `Firefox` 支持 `contextmenu` 属性。
#### 定义和用法
`contextmenu` 属性规定元素的上下文菜单。当用户右键点击元素时,会出现上下文菜单。
`contextmenu` 属性的值是要打开的 `\<menu\>` 元素的 `id`
#### HTML 4.01 与 HTML5 之间的差异
`contextmenu` 属性是 `HTML5` 中的新属性。
#### 语法
```text
\<element contextmenu="menu_id"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|menu_id |要打开的 \\<menu\> 元素的 id。|
### data-*
#### 实例
使用 data-* 属性来嵌入自定义数据
```text
\<ul\>
\<li data-animal-type="鸟类"\>喜鹊\</li\>
\<li data-animal-type="鱼类"\>金枪鱼\</li\>
\<li data-animal-type="蜘蛛"\>蝇虎\</li\>
\</ul\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
所有主流浏览器都支持 `data-*` 属性
#### 定义和用法
**data-*** 属性用于存储页面或应用程序的私有自定义数据
**data-*** 属性赋予我们在所有 **HTML** 元素上嵌入自定义 **data** 属性的能力
存储的自定义数据能够被页面的 **JavaScript** 中利用以创建更好的用户体验不进行 **Ajax** 调用或服务器端数据库查询)。
**data-*** 属性包括两部分
- 属性名不应该包含任何大写字母并且在前缀 "data-" 之后必须有至少一个字符
- 属性值可以是任意字符串
注释用户代理会完全忽略前缀为 **"data-"** 的自定义属性
#### HTML 4.01 与 HTML5 之间的差异
`data-*` 属性是 `HTML5` 中的新属性
#### 语法
```text
\<element data-*="somevalue"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|somevalue |规定属性的值以字符串)。|
### dir
#### 实例
一段方向从右向左的段落
```text
\<p dir="rtl"\>Write this text right-to-left!\</p\>
```
#### 浏览器支持
所有浏览器均支持 dir 属性
#### 定义和用法
dir 属性规定元素内容的文本方向
#### 提示和注释
dir 属性在以下标签中无效
```text
\<base\> \<br\> \<frame\> \<frameset\> \<hr\> \<iframe\> \<param\> \<script\>
```
#### 语法
```text
\<element dir="ltr|rtl"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|ltr |默认从左向右的文本方向。|
|rtl |从右向左的文本方向。|
### draggable
#### 实例
一个可拖动的段落
```text
\<p draggable="true"\>这是一个可拖动的段落。\</p\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
Internet Explorer 9+, Firefox, Opera, Chrome, and Safari 支持 **draggable** 属性
**注释:**Internet Explorer 8 以及更早的版本,不支持 **draggable** 属性
#### 定义和用法
**draggable** 属性规定元素是否可拖动
提示链接和图像默认是可拖动的
提示**draggable** 属性常用在拖放操作中请在我们的拖放教程中学习更多内容
#### HTML 4.01 与 HTML5 之间的差异
**draggable** 属性是 HTML5 中的新属性
#### 语法
```text
\<element draggable="true|false|auto"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|true |规定元素的可拖动的。|
|false |规定元素不可拖动。|
|auto |使用浏览器的默认行为。|
### dropzone
#### 实例
拖动数据会产生被拖动数据的副本
```text
\<div dropzone="copy"\>\</div\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| NO |NO| NO| NO| NO|
目前所有主流浏览器都不支持 `dropzone` 属性
#### 定义和用法
`dropzone` 属性规定在元素上拖动数据时是否拷贝移动或链接被拖动数据
#### HTML 4.01 与 HTML5 之间的差异
`dropzone` 属性是 HTML5 中的新属性
#### 语法
```text
\<element dropzone="copy|move|link"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|copy |拖动数据会产生被拖动数据的副本。|
|move |拖动数据会导致被拖动数据被移动到新位置。|
|link |拖动数据会产生指向原始数据的链接。|
### hidden
#### 实例
被隐藏的段落
```text
\<p hidden\>这个段落应该被隐藏。\</p\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
所有主流浏览器都支持 hidden 属性除了 Internet Explorer
#### 定义和用法
hidden 属性是布尔属性
如果设置该属性它规定元素仍未或不再相关
浏览器不应显示已规定 hidden 属性的元素
hidden 属性也可用于防止用户查看元素直到匹配某些条件比如选择了某个复选框)。
然后JavaScript 可以删除 hidden 属性以使此元素可见
#### HTML 4.01 与 HTML5 之间的差异
hidden 属性是 HTML5 中的新属性
#### HTML 与 XHTML 之间的差异
XHTML 属性简写是禁止的hidden 属性必须定义为 \<element hidden="hidden"\>
#### 语法
```text
\<element hidden\>
```
### id
#### 实例
通过 JavaScript 利用 id 属性来改变一段文本
```text
\<html\>
\<head\>
\<script type="text/javascript"\>
function change_header()
{
document.getElementById("myHeader").innerHTML="Nice day!";
}
\</script\>
\</head\>
\<body\>
\<h1 id="myHeader"\>Hello World!\</h1\>
\<button onclick="change_header()"\>Change text\</button\>
\</body\>
\</html\>
```
#### 定义和用法
id 属性规定 HTML 元素的唯一的 id
id HTML 文档中必须是唯一的
id 属性可用作链接锚link anchor通过 JavaScriptHTML DOM或通过 CSS 为带有指定 id 的元素改变或添加样式
#### 支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
#### 语法
```text
\<element id="value"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|id |规定元素的唯一 id。|
### lang
#### 实例
段落中的一些法文
```text
\<p lang="fr"\>Ceci est un paragraphe.\</p\>
```
#### 浏览器支持
所有浏览器均支持 lang 属性
#### 定义和用法
lang 属性规定元素内容的语言
#### 提示和注释
lang 属性在以下标签中无效
```text
\<base\> \<br\> \<frame\> \<frameset\> \<hr\> \<iframe\> \<param\> \<script\>
```
#### 语法
```text
\<element lang="language_code"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|language_code |规定元素内容的语言代码语言代码参考|
### spellcheck
#### 实例
进行拼写检查的可编辑段落
```text
\<p contenteditable="true" spellcheck="true"\>这是一个段落。\</p\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
Internet Explorer 10, Firefox, Opera, Chrome 以及 Safari 支持 spellcheck 属性
注释Internet Explorer 9 以及更早的版本不支持 spellcheck 属性
#### 定义和用法
spellcheck 属性规定是否对元素进行拼写和语法检查
可以对以下内容进行拼写检查
- input 元素中的文本值非密码
- \<textarea\> 元素中的文本
- 可编辑元素中的文本
#### HTML 4.01 与 HTML5 之间的差异
spellcheck 属性是 HTML5 中的新属性
#### 语法
```text
\<element spellcheck="true|false"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|true |对元素进行拼写和语法检查|
|false |不检查元素。|
### style
#### 实例
HTML 文档中使用 style 属性
```text
\<h1 style="color:blue; text-align:center"\>This is a header\</h1\>
\<p style="color:red"\>This is a paragraph.\</p\>
```
#### 定义和用法
style 属性规定元素的行内样式inline style
style 属性将覆盖任何全局的样式设定例如在 `\<style\>` 标签或在外部样式表中规定的样式
#### 支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
#### 语法
```text
\<element style="value"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|style_definition |一个或多个由分号分隔的 CSS 属性和值。|
### tabindex
#### 实例
带有指定 tab 键顺序的链接
```text
\<a href="http://www.angeszhu.cn/" tabindex="2"\>Python\</a\>
\<a href="http://www.angeszhu.cn/" tabindex="1"\>Django\</a\>
\<a href="http://www.angeszhu.cn/" tabindex="3"\>Java\</a\>
```
#### 浏览器支持
几乎所有浏览器均 tabindex 属性除了 Safari
#### 定义和用法
tabindex 属性规定元素的 tab 键控制次序 tab 键用于导航时)。
#### 提示和注释
以下元素支持 tabindex 属性
```text
\<a\>, \<area\>, \<button\>, \<input\>, \<object\>, \<select\> 以及 \<textarea\>
```
#### 语法
```text
\<element tabindex="number"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|number |规定元素的 tab 键控制次序1 是第一个)。|
### title
#### 实例
HTML 文档中使用 title 属性
```text
\<abbr title="People's Republic of China"\>PRC\</abbr\> was founded in 1949.
\<p title="Free Web tutorials"\>W3School.com.cn\</p\>
```
#### 定义和用法
title 属性规定关于元素的额外信息
这些信息通常会在鼠标移到元素上时显示一段工具提示文本tooltip text)。
提示title 属性常与 form 以及 a 元素一同使用以提供关于输入格式和链接目标的信息同时它也是 abbr acronym 元素的必需属性
#### 支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
#### 语法
```text
\<element title="value"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|text |规定元素的工具提示文本tooltip text)。|
### translate
#### 实例
规定不应翻译某些元素
```text
\<p translate="no"\>请勿翻译本段。\</p\>
\<p\>本段可被译为任意语言。\</p\>
```
#### 浏览器支持
|IE |Firefox |Chrome |Safari |Opera|
|:---:|:---:|:---:|:---:|:---:|
| YES |YES| YES| YES| YES|
所有主流浏览器都无法正确地支持 translate 属性
#### 定义和用法
translate 规定是否应该翻译元素内容
提示请使用 class="notranslate" 替代
#### HTML 4.01 与 HTML5 之间的差异
translate 属性是 HTML5 中的新属性
#### 语法
```text
\<element translate="yes|no"\>
```
#### 属性值
|属性| 描述|
|---|:---:|
|yes |规定应该翻译元素内容。|
|no |规定不应翻译元素内容。|