你可能不知道的几个常用的 HTML 属性

contenteditable

contenteditable 表示元素内容是否可被用户编辑。它可以有以下值:

  • true 或者空字符串,表示元素是可被编辑的;
  • false 表示元素不可被编辑。
  • inherit 表示元素继承其父元素的可编辑状态
<div contenteditable="true">
  <h1>元素可编辑</h1>
</div>
<div contenteditable="">
  <h1>元素可编辑</h1>
</div>
<div contenteditable="false">
  <h1>元素不可编辑</h1>
</div>
<div contenteditable="inherit">
  <h1>元素继承其父元素的可编辑状态</h1>
</div>

dir

dir 属性规定元素内容的文本方向。它的取值如下:

  • ltr —— 默认。从左向右的文本方向。常用于那种从左向右书写的语言(比如英语);
  • rtl —— 从右向左的文本方向。常用于那种从右向左书写的语言(比如阿拉伯语);
  • auto —— 让浏览器根据内容来判断文本方向。它在解析元素中字符时会运用一个基本算法,直到发现一个具有强方向性的字符,然后将这一方向应用于整个元素。仅在文本方向未知时推荐使用。
<p dir="rtl">This paragraph is in English but incorrectly goes right to left.</p>
<p dir="ltr">This paragraph is in English and correctly goes left to right.</p>
<p>هذه الفقرة باللغة العربية ولكن بشكل خاطئ من اليسار إلى اليمين.</p>
<p dir="auto">هذه الفقرة باللغة العربية ، لذا يجب الانتقال من اليمين إلى اليسار.</p>

hidden

hidden 布尔属性表示该元素尚未或不再相关。

<div hidden>lorem</div>
<div hidden="true">lorem</div>
<div hidden="false">lorem</div>

你可以配合 JS 来改变其值为 truefalse,使浏览器是否需要渲染此类元素。例如,它可用于隐藏在登录过程完成之前无法使用的页面元素。

title

HTML title 包含表示与其所属元素相关的建议信息的文本。也就是指定元素的提示文本。

<p title="爱在这">爱在这</p>

当鼠标移动到带有 title 属性的元素上时,提示文本将作为工具提示(tooltip)显示出来。可以说,title 是对该元素的描述和进一步的说明。

可查看 HTML title 属性 关于使用上需要注意的地方。

accesskey

accessKey 属性规定激活(使元素获得焦点)当前元素的快捷键。

<input accesskey="b" />
<a href="https://www.baidu.com/" accesskey="c">百度一下,你就知道</a>

注意:不同浏览器使用的快捷键方法不同:

  • IE,Chrome,Safari,Opera 15+[ALT] + accesskey
  • Opera prior version 15[SHIFT] [ESC] + accesskey
  • Firefox[ALT] [SHIFT] + accesskey

tabindex

  • tabindex 属性规定当使用键盘上的 tab 键进行导航时元素的顺序。
  • 在 HTML4.01 中,tabindex 属性可用于:<a><area><button><input><object><select><textarea>
  • 在 HTML5 中,tabindex 属性可用于任何的 HTML 元素(它会验证任何 HTML 元素。但不一定是有用)
<ul>
  <li tabindex="2">HTML</li>
  <li tabindex="1">CSS</li>
  <li tabindex="3">JAVASCRIPT</li>
</ul>

Download

在锚定上使用时,Download 属性表示浏览器应下载锚定指向的资源,而不是导航到该资源。

<a href="/logo.png" download></a>
<!-- 下载的文件名为 'logo' -->
<a href="/logo.png" download="logo">home</a>

详细可查看 使用 HTML5 download 属性创建可下载的链接

autocomplete

HTML autocomplete 属性为 <input> 字段提供了各种各样的选项。其作用是向浏览器指示值是否应在适当时自动填充。

<input autocomplete="on|off" />

new-password —— 当要求用户创建新密码(例如,注册或重置密码输入框)时,可以使用该值。此值可确保浏览器不会意外填写现有密码,同时还允许浏览器建议一个安全密码:

<form action="signup" method="post">
  <input type="text" autocomplete="username" />
  <input type="password" autocomplete="new-password" />
  <input type="submit" value="注册" />
  <button type="reset">重置</button>
</form>

详细可查看 HTML autocomplete 属性

loading

我们经常需要对网站中的图像进行优化,其中一些技术便是懒加载,通常是延迟加载初始视口外的图像,直到我们滚动页面,达到图像与底部视口的交汇处才开始加载图像。

通常情况下,我们都是使用 JS 编写该方法。而 HTML 标准中已经存在 loading 属性,可以精确的感知这种行为。

我们只需要在想到延迟加载的图像上添加 loading="lazy" 属性即可:

<img src="/img/logo.png" alt="website logo" loading="lazy" />

以下是 Can I Use 给出其的兼容情况:

loading 支持情况

注意:大多数现代浏览器都支持 loading 属性,但 Safari 和 IE 11 则不支持该属性。

reversed 和 start

HTML reversed 属性可以帮助我们创建一个降序的编号列表。此布尔属性特定于 <ol> 元素,并指定列表元素的顺序相反(即从高到低编号)。

对列表顺序进行降序:

<ol reversed>
  <li>item 3</li>
  <li>item 2</li>
  <li>item 1</li>
</ol>
<!--
 3. item 3
 2. item 2
 1. item 1
-->

start 属性和 reversed 一样,都用于有序列表 <ol> 元素,它的值为一个整数,用于指定列表计数器的初始值。两者结合可以指定任意的以哪个倒序数字开始。

例如,如果您想在一个反向的3项列表中显示数字 101 到 99,只需添加 start="101"

<ol reversed start="101">
  <li>item 101</li>
  <li>item 100</li>
  <li>item 99</li>
</ol>

data-* 和 dataset

data-* 自定义数据属性,它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力。

<div class="avatar" data-user="IU" data-avatar-type="circle" data-animateSpeed>
  <img src="avatar.png" alt="avatar" />
</div>

然后,你可以通过 JS 与 HTML 之间进行专有数据的交互。通过 elem.dataset 可以方便的获取或设置 data-* 自定义数据属性集。

const avatar = document.querySelector('.avatar')

console.log(avatar.dataset.user === 'IU') // true
console.log(avatar.dataset.avatarType === 'circle') // true
avatar.dataset.animateSpeed = 4000
    
// 添加不存在的属性
avatar.dataset.id = 'user'
console.log(avatar.dataset)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352