这篇文章将HTML的全局属性当中比较常见且重要的挑出来,分为“必知”和“应知”两部分。
“必知”属性是在做HTML属性相关任务时必须要了解的,否则会严重影响工作。
“应知”属性做了些扩展,掌握这些基本上能让你handle大部分HTML属性相关的基础任务。
必知
1. class
类名,一个元素可以定义多个类名。多个元素定义同一个类名,可以通过一个类的css同时修改那几个元素的样式。
2. id
全文档唯一标识符,不能重复,一个元素只能定义一个id,命名需要有可读性。
3. style
用于定义css样式。这里定义的css样式会覆盖css文件中定义的样式。
4. hidden
boolean属性,hidden为true时,隐藏但占位,若想隐藏得且不占据dom的位置,用display: false。
5. title
主要用于提示信息,类似tooltip。
6. tabindex
表示当这个元素可以被focus,如果用tab键导航,这个元素处在什么位置。
7. data-*
自定义属性的属性。
<img class="spaceship cruiserX3" src="shipX3.png"
data-ship-id="324" data-weapons="laserI laserII" data-shields="72%"
data-x="414354" data-y="85160" data-z="31940"
onclick="spaceships[this.dataset.shipId].blasted()">
</img>
应知
1. autofocus
boolean属性,表示显示时会自动聚焦,如果有多个autofocus元素,会聚焦第一个。
2. contenteditable
枚举属性,值可以为:true(这个元素可以编辑),false(这个元素不能编辑),plaintext-only(这个元素文本可以编辑,但富文本格式被禁用)。
3. inputmode
通常用在移动端,手机里会有字母键盘和数字键盘。枚举属性,值可以为:
none:无虚拟键盘,用户用自己的实体键盘即可。text:使用用户本地设置的文本输入键盘。decimal:小数输入键盘,通常会有小数点。numeric:数字输入键盘,一般是0-9的数字。tel:电话输入键盘,包含*号和#号,input会这样用:<input type="tel">。search:为搜索优化的虚拟键盘,返回键可能会被标记为“搜索”。email:为邮件地址输入的虚拟键盘,通常会包含@,input会这样用:<input type="email">。url:为网址输入优化的虚拟键盘,比如/会更明显,input会这样用:<input type="url">。
4. dir
定义元素中文本方向,值可以为:ltr(左到右),rtl(右到左),auto。
5. lang
定义语言,英语一般用lang="en-US",全部支持的语言参考这里。
6. spellcheck
定义是否可以检查元素的拼写错误。枚举属性,值可以为true,false,inherited。
7. translate
枚举属性,值可以为:yes,no。为no时,网页在被浏览器翻译时会跳过这个文本。
8. draggable
枚举属性,值可以为:true,false,auto(默认),表示这个元素是否可以被拖动。
9. accesskey
为这个元素生成快捷键,比如保存按钮,设置了快捷键可以直接保存。
结尾
我把目前所有的HTML全局变量都整理出来了,除了以上这些主要的,剩下的所有不那么常见的属性我还在整理中,敬请期待。