HTML 面试题错题总结与解析

本篇博客整理了本人在近期 HTML 面试题中的部分错误或薄弱问题。

第 1 题:如何在 HTML 中实现响应式图片加载?请举例说明 srcset 和 picture 的使用场景。

HTML 提供了 `srcset` 和 `<picture>` 两种方式来实现响应式图片加载。

方式一:使用 `srcset`:

```html

<img srcset="small.jpg 500w, medium.jpg 1000w, large.jpg 1500w"

sizes="(max-width: 600px) 500px, (max-width: 1200px) 1000px, 1500px"

src="fallback.jpg" alt="示例图片">

```

方式二:使用 `<picture>` 元素:

```html

<picture>

<source srcset="image.webp" type="image/webp">

<source srcset="image.jpg" type="image/jpeg">

<img src="image.jpg" alt="图片">

</picture>

```

第 2 题:如何在 HTML 中实现一个可访问性良好的表单?

  1. 使用 `<label>` 与输入框关联:

```html

<label for="email">邮箱:</label>

<input type="email" id="email" name="email">

```

  1. 使用 `<fieldset>` 和 `<legend>` 来组织表单组。

  2. 使用 `aria-*` 属性增强辅助技术识别能力。

第 3 题:解释 <label> 标签的作用,并说明它如何与表单控件关联。

`<label>` 标签可以让用户点击文字时聚焦对应表单控件。

```html

<label for="username">用户名</label>

<input type="text" id="username">

```

`for` 属性应绑定控件的 `id` 而非 `name`。

第 4 题:什么是块级元素和行内元素?请举出三个例子。

  • 块级元素:`<div>`、`<p>`、`<section>`

  • 行内元素:`<span>`、`<a>`、`<strong>`

`<input>` 是行内块元素(inline-block)

第 5 题:如何创建一个不可见但仍存在于 DOM 的元素?

```html

<div style="display:none;">隐藏内容</div>

<div hidden>隐藏内容</div>

<div style="visibility:hidden;">占位但不可见</div>

```

第 6 题:HTML5 中如何嵌入音频和视频?

```html

<audio controls>

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

您的浏览器不支持 audio 标签。

</audio>

<video controls width="320">

<source src="video.mp4" type="video/mp4">

您的浏览器不支持 video 标签。

</video>

```

第 7 题:ARIA 属性的作用以及你在什么情况下使用它。

ARIA 属性用于增强无障碍访问,例如:

  • `aria-label`:提供辅助说明

  • `aria-hidden="true"`:隐藏内容对读屏软件不可见

  • `role="button"`:声明元素的交互角色

  • `localStorage`:持久存储

  • `sessionStorage`:临时存储(关闭标签页即失效)

区别:本地存储不会自动随请求发送,容量更大,操作更简单

总结

通过本次错题整理发现,自己在 HTML 的可访问性、响应式图片、多媒体标签、ARIA 属性等方面还存在一定的理解偏差。

建议后续结合项目实际进行实践运用,并加强对 HTML5 新特性与浏览器行为的理解。

相关推荐
kyriewen9 分钟前
我扫了 422 个仓库,近一半 CI 在裸装依赖
前端·javascript·程序员
鹏多多19 分钟前
AI 到底能不能独立做个产品?我拿一个小程序验证了
前端·微信小程序·ai编程
火山引擎开发者社区25 分钟前
构建专属的飞书群开发助手,AgentKit Studio 一键部署 DeepSeek Harness Super-Agent
前端
brave102533 分钟前
LLMGuide 大模型面试指南
人工智能·ai·面试·ai编程
啾咪orJIUMI3 小时前
Vue 3 + 高德地图封装实战:点位、区域、Loca 流光与 Vue 信息窗体
前端·vue.js
掘金者阿豪3 小时前
AI数据库不只是向量检索:从数据语义到库内智能计算的技术演进
前端
梦里寻码3 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
FRing033 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
SameX3 小时前
HarmonyOS ArkUI Dialog 复用 用 @CustomDialog + enum type 做多类型统一管理的做法
前端
AiMan3 小时前
豆包爱学还是不可以导出左侧所有对话,只能单容导出,方法不对吗
前端