不久前,我创建了一篇文章,其中介绍了有用的 HTML 标记及其类型。本周我决定制作一个续集,回顾一些您可能想要使用的 HTML 属性。
[topic] 短代码使用出错
所有属性都易于设置,并且可以帮助您完成常见任务,否则您可以通过使用一些复杂的外部库来完成这些任务。
在本文中,我将回顾每个属性并包含代码片段,以便您更容易理解属性的用例和语法。
1. 接受
描述允许的输入文件类型。
<input type="file" accept=".jpg, .png">
仅与标签的 file
类型一起使用。<input>
接受一种或多种文件类型的逗号分隔列表。要允许特定媒体类型的所有文件,请使用 accept="image/*"
.
2. 自动对焦
指示特定元素应专注于页面加载。
<input type="text" autofocus>
文档或对话框中只有一个元素可能具有该 autofocus
属性。如果应用于多个元素,第一个元素将获得焦点。
3.输入方式
提示用户在编辑元素或其内容时可能输入的数据类型。
<input type="text" inputmode="url" />
<input type="text" inputmode="email" />
<input type="text" inputmode="numeric" />
这允许浏览器显示适当的虚拟键盘。
4.图案
<input>
指定在表单提交时检查值的正则表达式。
<input name="username" id="username" pattern="[A-Za-z0-9]+">
5. 必填
确保在提交表单之前必须填写元素。
<form action="/send_form.js">
Username: <input type="text" name="username" required>
<input type="submit">
</form>
6.自动完成
指定浏览器是否有权提供帮助以填写电子邮件、电话号码、国家/地区等表单字段。
<input name="credit-card-number" id="credit-card-number" autocomplete="off">
有关可用 autocomplete
值的完整列表,请参阅 MDN 参考。
7.多个
该属性允许用户选择多个值。
<input type="file" multiple>
您可以将它与标签的类型 file
和 email
类型一起使用。<input>``<select>
8. 下载
指定当用户单击超链接时将下载目标。
<a href="document.pdf" download>Download PDF</a>
9.内容可编辑
该属性允许用户编辑元素的内容。
<div contenteditable="true">
This text can be edited by the user.
</div>
10.只读
指定输入字段是只读的。
<input type="text" id="sports" name="sports" value="golf" readonly>
用户仍然可以选择它、突出显示它并从中复制文本。要禁止这些操作,请改用该 disabled
属性。
11.隐藏
指定元素是否可见。
<p hidden>This text is hidden</p>
12. 拼写检查
定义是否检查元素的拼写错误。
<p contenteditable="true" spellcheck="true">Myy spellinng is checkd</p>
通常,不会检查所有不可编辑的元素,即使该 spellcheck
属性设置为 true
并且浏览器支持拼写检查。
13. 翻译
指定页面本地化时是否应翻译元素。
<footer><p translate="no">Printing Works, Inc</p></footer>
一个示例用例是您的公司名称、书名、位置等。
14. 加载
指定浏览器是应该立即加载图像还是推迟加载屏幕外图像,例如,直到用户滚动到它们附近。
<img src="https://cdn.mysite.com/media/image.jpg" loading="lazy">
eager
是默认行为,lazy
用于延迟(也称为延迟加载)。
15. 错误
如果未加载原件,则允许添加备用图像。
<img src="imageafound.png" onerror="this.onerror=null;this.src='imagenotfound.png';"/>
this.onerror=null
如果后备图像本身不可用,则用于防止循环。
16. 海报
允许在下载视频时添加要显示的图像。
<video
src="https://cdn.mysite.com/media/video.mp4"
poster="image.png">
</video>
如果未指定,则在第一帧可用之前不显示任何内容,然后第一帧显示为张贴帧。
17. 控制
指定是否应在播放器上显示音频/视频控件。
<audio controls
<source src="track11.mp3" type="audio/mpeg">
</audio>
18. 自动播放
确保音频/视频在加载后立即自动开始播放。
<video autoplay
src="https://cdn.mysite.com/media/myvideo.mp4"
poster="image.png">
</video>
19. 循环
指定音频/视频将在每次完成时重新开始。
<audio loop
<source src="track323.mp3" type="audio/mpeg">
</audio>
20. 引用
指向内容的来源、更改或删除的参考点。
<blockquote cite="https://mysite.com/original-source-url">
<p>Some awesome quote</p>
</blockquote>
21. 日期时间
指定删除/插入文本的日期和时间。
<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. 异步
确保脚本与页面的其余部分异步执行。
<script src="script.js" async></script>
该 async
属性仅对外部脚本有影响(src
属性必须存在)。
23. 推迟
确保在页面完成解析后执行脚本。
<script src="script.js" defer></script>
该 defer
属性仅对外部脚本有影响(src
属性必须存在)。
24. 可拖动
指定元素是否可拖动。
<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>