分享 24 个鲜为人知的 HTML 属性,助你提升开发效率

Posted SHERlocked93

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享 24 个鲜为人知的 HTML 属性,助你提升开发效率相关的知识,希望对你有一定的参考价值。

英文 | https://javascript.plainenglish.io/24-lesser-known-html-attributes-you-may-want-to-use-326dca041fdb

翻译 | 杨小爱

之前,我写了一篇关于介绍了有用的 HTML 标记及其类型的文章。今天,我决定再写一个续片,回顾一些我们可能需要使用到的 HTML 属性。

所有属性都易于设置,并且可以帮助我们完成常见任务,否则我们可以通过使用一些复杂的外部库来完成这些任务。

因此,在本文中,我将回顾每个属性并包含代码片段,以便我们更容易理解属性的用例和语法。

1、Accept

描述允许的输入文件类型。

<input type="file" accept=".jpg, .png">

仅与 <input> 标记的文件类型一起使用。接受一种或多种文件类型的逗号分隔列表。要允许特定媒体类型的所有文件,请使用 accept="image/*"。

2、Autofocus

它表明特定元素应该专注于页面加载。

<input type="text" autofocus>

文档或对话框中只有一个元素能具有 autofocus 属性。如果需要应用于多个元素中,则会将第一个元素设置为焦点。

3、Inputmode

提示用户在编辑元素或其内容时可能输入的数据类型。

<input type="text" inputmode="url" />
<input type="text" inputmode="email" />
<input type="text" inputmode="numeric" />

它允许浏览器显示适当的虚拟键盘。

4、Pattern

指定在表单提交时检查 <input> 值的正则表达式。

<input name="username" id="username" pattern="[A-Za-z0-9]+">

5、 Required

确保在提交表单之前必须填写元素。

<form action="/send_form.js">  
Username: <input type="text" name="username" required>  
<input type="submit">  
</form>

6、Autocomplete

指定浏览器是否有权提供帮助以填写电子邮件、电话号码、国家/地区等表单字段。

<input name="credit-card-number" id="credit-card-number" autocomplete="off">

有关可用自动完成值的完整列表,请参阅 MDN 参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

7、Multiple

该属性允许用户选择多个值。

<input type="file" multiple>

我们可以将它与 <input> 和 <select> 标记的文件和电子邮件类型一起使用。

8、Download

指定当用户单击超链接时将下载目标。

<a href="document.pdf" download>Download PDF</a>

9、Contenteditable

该属性允许用户编辑元素的内容。

<div contenteditable="true">  This text can be edited by the user.</div>

10、Readonly

指定输入字段是只读的。

<input type="text" id="sports" name="sports" value="golf" readonly>

用户仍然可以选择它、突出显示它并从中复制文本。要禁止这些操作,请改用 disabled 属性。

11、Hidden

指定元素是否可见。

<p hidden>This text is hidden</p>

12、Spellcheck

定义是否检查元素的拼写错误。

<p contenteditable="true" spellcheck="true">Myy spellinng is checkd</p>

通常,不会检查所有不可编辑的元素,即使 spellcheck 属性设置为 true 并且浏览器支持拼写检查。

13、Translate

指定页面本地化时是否应翻译元素。

<footer><p translate="no">Printing Works, Inc</p></footer>

一个示例用例是我们的公司名称、书名、位置等。

14、Loading

指定浏览器是应该立即加载图像还是推迟加载屏幕外图像,例如,直到用户滚动到它们附近。

<img src="https://cdn.mysite.com/media/image.jpg" loading="lazy">

eager 是默认行为,lazy 用于延迟(也称为延迟加载)。

15、Onerror

如果未加载原件,则允许添加备用图像。

<img src="imageafound.png" onerror="this.onerror=null;this.src='imagenotfound.png';"/>

如果后备图像本身不可用, this.οnerrοr=null 用于防止循环。

16、Poster

允许在下载视频时添加要显示的图像。

<video src="https://cdn.mysite.com/media/video.mp4"poster="image.png"></video>

如果未指定,则在第一帧可用之前不显示任何内容,然后,第一帧显示为张贴帧。

17、Controls

指定是否应在播放器上显示音频/视频控件。

<audio controls<source src="track11.mp3"  type="audio/mpeg"></audio>

18、Autoplay

确保音频/视频在加载后立即自动开始播放。

<video autoplaysrc="https://cdn.mysite.com/media/myvideo.mp4"poster="image.png"></video>

19、Loop

指定音频/视频将在每次完成时重新开始。

<audio loop<source src="track323.mp3"  type="audio/mpeg"></audio>

20、Cite

指向内容的来源、更改或删除的参考点。

<blockquote cite="https://mysite.com/original-source-url">  
<p>Some awesome quote</p>
</blockquote>

21、Datetime

它指定删除/插入文本的日期和时间。

<p>  My plans for 2021 include visiting Thailand,  
<del datetime="2021-01-01T18:21">creating 6 courses,</del>   
<ins datetime="2021-02-02T14:07">writing 12 articles.</ins>
</p>
<p>I will evaluate the completion on 
<time datetime="2021-12-31">
</time>.</p>

当与 <time> 元素一起使用时,它表示机器可读格式的日期/时间。

22、Async

确保脚本与页面的其余部分异步执行。

<script src="script.js" async></script>

async 属性只对外部脚本有影响(src 属性必须存在)。

23、Defer

确保在页面完成解析后执行脚本。

<script src="script.js" defer></script>

defer 属性只对外部脚本有影响(src 属性必须存在)。

24、Draggable

指定元素是否可拖动。

<script>
const allowDrop = (e) => e.preventDefault();
const drag = (e) => e.dataTransfer.setData("text", e.target.id);
const drop = (e) =>   var data = e.dataTransfer.getData("text");  
e.target.appendChild(document.getElementById(data));
</script>
<div ondrop="drop(event)" ondragover="allowDrop(event)" style="width:150px; height:50px; padding: 10px; border:1px solid black"></div>
<p id="drag" draggable="true" ondragstart="drag(event)">Drag me into box</p>

最后

如果你觉得这篇内容对你挺有启发,我想邀请你帮我个小忙:

  1. 点个「喜欢」或「在看」,让更多的人也能看到这篇内容

  2. 我组建了个氛围非常好的前端群,里面有很多前端小伙伴,欢迎加我微信「sherlocked_93」拉你加群,一起交流和学习

  3. 关注公众号「前端下午茶」,持续为你推送精选好文,也可以加我为好友,随时聊骚。

点个喜欢支持我吧,在看就更好了

以上是关于分享 24 个鲜为人知的 HTML 属性,助你提升开发效率的主要内容,如果未能解决你的问题,请参考以下文章

8个一定要收藏的前端框架,助你提升工作效率

56个JavaScript 实用工具函数助你提升开发效率!

几款效率神器助你走上人生巅峰

几款效率神器助你走上人生巅峰

分享5个插件,助你在Python的道路越战越勇

分享5个插件,助你在Python的道路越战越勇