前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分享 24 个鲜为人知的 HTML 属性,助你提升开发效率

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

作者头像
前端达人
发布2022-03-25 12:39:11
7440
发布2022-03-25 12:39:11
举报
文章被收录于专栏:前端达人前端达人

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

翻译 | 杨小爱

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

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

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

1、Accept

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

代码语言:javascript
复制
<input type="file" accept=".jpg, .png">

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

2、Autofocus

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

代码语言:javascript
复制
<input type="text" autofocus>

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

3、Inputmode

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

代码语言:javascript
复制
<input type="text" inputmode="url" />
<input type="text" inputmode="email" />
<input type="text" inputmode="numeric" />

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

4、Pattern

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

代码语言:javascript
复制
<input name="username" id="username" pattern="[A-Za-z0-9]+">

5、 Required

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

代码语言:javascript
复制
<form action="/send_form.js">  
Username: <input type="text" name="username" required>  
<input type="submit">  
</form>

6、Autocomplete

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

代码语言:javascript
复制
<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

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

代码语言:javascript
复制
<input type="file" multiple>

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

8、Download

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

代码语言:javascript
复制
<a href="document.pdf" download>Download PDF</a>

9、Contenteditable

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

代码语言:javascript
复制
<div contenteditable="true">  This text can be edited by the user.</div>

10、Readonly

指定输入字段是只读的。

代码语言:javascript
复制
<input type="text" id="sports" name="sports" value="golf" readonly>

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

11、Hidden

指定元素是否可见。

代码语言:javascript
复制
<p hidden>This text is hidden</p>

12、Spellcheck

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

代码语言:javascript
复制
<p contenteditable="true" spellcheck="true">Myy spellinng is checkd</p>

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

13、Translate

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

代码语言:javascript
复制
<footer><p translate="no">Printing Works, Inc</p></footer>

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

14、Loading

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

代码语言:javascript
复制
<img src="https://cdn.mysite.com/media/image.jpg" loading="lazy">

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

15、Onerror

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

代码语言:javascript
复制
<img src="imageafound.png" onerror="this.onerror=null;this.src='imagenotfound.png';"/>

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

16、Poster

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

代码语言:javascript
复制
<video src="https://cdn.mysite.com/media/video.mp4"poster="image.png"></video>

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

17、Controls

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

代码语言:javascript
复制
<audio controls<source src="track11.mp3"  type="audio/mpeg"></audio>

18、Autoplay

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

代码语言:javascript
复制
<video autoplaysrc="https://cdn.mysite.com/media/myvideo.mp4"poster="image.png"></video>

19、Loop

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

代码语言:javascript
复制
<audio loop<source src="track323.mp3"  type="audio/mpeg"></audio>

20、Cite

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

代码语言:javascript
复制
<blockquote cite="https://mysite.com/original-source-url">  
<p>Some awesome quote</p>
</blockquote>

21、Datetime

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

代码语言:javascript
复制
<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

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

代码语言:javascript
复制
<script src="script.js" async></script>

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

23、Defer

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

代码语言:javascript
复制
<script src="script.js" defer></script>

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

24、Draggable

指定元素是否可拖动。

代码语言:javascript
复制
<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>

总结

写作一直是我的热情所在,它让我思考并总结,同时还可以帮助大家。如果您有任何问题,请随时在留言区给我留言。

最后,感谢您的阅读。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档