天天看点

24 个鲜为人知的 HTML 属性

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.onerror=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>      

总结

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

最后,感谢您的阅读。

学习更多技能请点击下方公众号