7个必知HTML全局属性,缺一个都会影响你的前端能力

120 阅读3分钟

这篇文章将HTML的全局属性当中比较常见且重要的挑出来,分为“必知”和“应知”两部分。
“必知”属性是在做HTML属性相关任务时必须要了解的,否则会严重影响工作。
“应知”属性做了些扩展,掌握这些基本上能让你handle大部分HTML属性相关的基础任务。

必知

1. class

类名,一个元素可以定义多个类名。多个元素定义同一个类名,可以通过一个类的css同时修改那几个元素的样式。

2. id

全文档唯一标识符,不能重复,一个元素只能定义一个id,命名需要有可读性。

3. style

用于定义css样式。这里定义的css样式会覆盖css文件中定义的样式。

4. hidden

boolean属性,hiddentrue时,隐藏但占位,若想隐藏得且不占据dom的位置,用display: false

5. title

主要用于提示信息,类似tooltip。

image.png

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

定义是否可以检查元素的拼写错误。枚举属性,值可以为truefalseinherited

7. translate

枚举属性,值可以为:yesno。为no时,网页在被浏览器翻译时会跳过这个文本。

8. draggable

枚举属性,值可以为:truefalseauto(默认),表示这个元素是否可以被拖动。

9. accesskey

为这个元素生成快捷键,比如保存按钮,设置了快捷键可以直接保存。

结尾

我把目前所有的HTML全局变量都整理出来了,除了以上这些主要的,剩下的所有不那么常见的属性我还在整理中,敬请期待。