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 新特性与浏览器行为的理解。

相关推荐
不好听6136 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus6 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子7 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech7 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
触底反弹7 小时前
🔥 2026 大模型选择指南:别再只看 Benchmark 了,这些维度才是关键!
人工智能·面试
小林ixn8 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧9 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw10 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯10 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能