HTML5 新增特性与常用属性详解
HTML5 不只是“新标签集合”,它还补充了更清晰的页面语义、更强的表单能力、原生音视频和图形绘制 API。本文以日常开发中最常用的部分为主,整理新增特性及使用方式。
语义化结构标签
语义化标签可以让页面结构更清晰,也能帮助辅助阅读工具与搜索引擎理解内容。
<header>页面或区块的页眉</header> |
header、footer、nav、main、article、section 和 aside 都有明确的结构含义。它们不是单纯替代 div;只有内容确实符合其语义时才使用。
新的表单输入类型
HTML5 为 input 增加了更贴近业务的类型。浏览器会提供合适的输入控件,并可参与基础校验。
<input type="email" placeholder="name@example.com" required> |
常用类型包括 email、url、number、date、time、range、color 和 search。原生校验能改善体验,但服务端仍必须再次校验提交的数据。
常用新增表单属性
placeholder、required 与 pattern
<input |
placeholder:显示输入提示,不能替代label。required:要求字段在提交前不能为空。pattern:用正则表达式限定文本格式。
min、max、step 与 multiple
<input type="number" min="1" max="10" step="1"> |
min、max、step 常用于数字、日期和范围输入;multiple 允许 file 或 email 输入多个值。
autofocus、autocomplete 与 form
<form id="profile-form" autocomplete="on"> |
autofocus:页面加载后自动聚焦一个输入框;一页通常只设置一个。autocomplete:控制浏览器是否建议历史填写内容。form:让表单外的控件关联到指定表单。
datalist 与 output
datalist 可以为输入框提供候选项,但用户仍可以输入候选列表以外的内容。
<label> |
output 用于展示计算结果:
<form oninput="sum.value = Number(a.value) + Number(b.value)"> |
keygen曾是 HTML5 草案中的元素,但已被废弃,不建议在新项目中使用。
原生音视频
<video controls width="640" poster="/img/poster.jpg"> |
常用属性:
controls:显示播放控件。poster:视频加载前显示的封面。muted:静音播放;若需要自动播放,现代浏览器通常要求同时静音。preload:控制预加载策略,常用值为none、metadata、auto。
Canvas 图形绘制
canvas 是 HTML5 提供的位图画布。它适用于图表、小游戏、动画和图像处理;画布中的内容不是 DOM 元素,因此不适合承载需要 SEO 或无障碍阅读的正文。
<canvas id="demo" width="320" height="180"> |
const canvas = document.querySelector('#demo'); |
常用方法包括 fillRect()、strokeRect()、beginPath()、lineTo()、arc()、fillText()、drawImage() 与 clearRect()。
使用建议
- 优先选择语义正确的标签,而不是无差别地替换所有
div。 - 原生表单校验用于提升体验,不能替代后端校验。
- 图片与媒体要提供合适的替代文本、字幕或回退文本。
- Canvas 适合动态绘制;若内容需要被检索或复制,应同时提供文本版本。
评论
