当前位置: 首页 > news >正文

HTML面试整理

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

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

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

方式一:使用 srcset

<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="示例图片">

srcset 属性可为同一图像提供多个文件源和各自的分辨率描述符。浏览器会根据当前设备的屏幕尺寸(如宽度)和像素密度(如 DPI )来选择最合适的图像源进行加载。这样,就能 获得与其设备相匹配的最佳图像体验,而不必加载比所需更大或更高分辨率的图像,从而节省带宽并加快页面加载速度。

方式二:srcset<picture> 元素结合使用:

<picture><source media="(min-width: 800px)"srcset="large-1.jpg 1x, large-2.jpg 2x"sizes="(min-width: 1200px) 600px, (min-width: 1000px) 50vw, 100vw"><source media="(min-width: 400px)"srcset="medium-1.jpg 1x, medium-2.jpg 2x"><img src="default.jpg" srcset="small-1.jpg 1x, small-2.jpg 2x"alt="Responsive image">
</picture>

<picture> 元素提供了更复杂的图像源选项,可以根据不同的媒体条件(如屏幕宽度和分辨率)指定不同的图像源。这对于艺术方向性的响应式图像特别有用,比如当你希望在不同设备上显示不同裁剪或方向的图片时。

<source> 元素:

  • 第一个<source>元素针对视口宽度至少为 800px 的设备。使用 srcset 提供了两种分辨率(1x 和 2x)的大图像,适用于高分辨率显示设备。sizes 属性进一步定义了不同视口宽度下图像的显示宽 度,提供更精细的控制。
  • 第二个<source>元素针对视口宽度至少为 400px 的设备。同样使用 srcset 提供普通和高分辨率的中等尺寸图像。

<img> 元素:
作为所有 元素的后备选项。如果没有任何 元素的条件被满足,或者浏览器不支持 元素,将加载 中定义的图像。这里还使用了 srcset 来为小图提供不同分辨率的版本。

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

  1. 使用 <label> 与输入框关联:
<label for="email">邮箱:</label>
<input type="email" id="email" name="email">
  1. 使用 <fieldset><legend> 来组织表单组。
  2. 使用 aria-* 属性增强辅助技术识别能力。

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

<label for="username">用户名</label>
<input type="text" id="username">
  • <label> 标签描述表单输入项
  • for 属性应对应输入项的 id(不是 name)
  • 增强可访问性,点击 label 自动聚焦输入项

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

  • 行内元素有:a b span img input select strong(强调的语气)
  • 块级元素有:div ul ol li dl dt dd h1 h2 h3 h4…p

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

<audio controls><source src="audio.mp3" type="audio/mpeg">您的浏览器不支持 audio 标签。
</audio><video controls width="320"><source src="video.mp4" type="video/mp4">您的浏览器不支持 video 标签。
</video>

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

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

  • aria-label:提供辅助说明
  • aria-hidden="true":隐藏内容对读屏软件不可见
  • role="button":声明元素的交互角色

第 7 题:HTML5 中新增的本地存储机制有哪些?它们与 Cookie 有何不同?

  • localStorage:持久存储
  • sessionStorage:临时存储(关闭标签页即失效)
    区别:本地存储不会自动随请求发送,容量更大,操作更简单

总结
通过本次错题整理发现,自己在 HTML 的可访问性、响应式图片、多媒体标签、ARIA 属性等方面还存在一定的理解偏差。
建议后续结合项目实际进行实践运用,并加强对 HTML5 新特性与浏览器行为的理解。

http://www.lqws.cn/news/212311.html

相关文章:

  • 在Mathematica中使用Newton-Raphson迭代绘制一个花脸
  • 【判断既约分数】2022-4-3
  • Python60日基础学习打卡Day46
  • 杭州瑞盟 MS35774/MS35774A 低噪声256细分微步进电机驱动,用于空调风门电机驱动,香薰电机驱动
  • 【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析
  • 智能手表供应链与采购清单(Aurora Watch S1)
  • 用队列实现栈
  • [TI板]MSPM0G3507学习笔记(一) 超详细keil环境配置+烧录配置+空工程迁移+vscode配置+点灯
  • 容器安全最佳实践:云原生环境下的零信任架构实施
  • 游戏(game)
  • 【RTSP从零实践】1、根据RTSP协议实现一个RTSP服务
  • compose 组件 ---无ui组件
  • SDC命令详解:使用set_propagated_clock命令进行约束
  • 路过美国Intel公司
  • 【AI论文】反思、重试、奖励:通过强化学习实现大型语言模型的自我提升
  • 计算机组成原理-存储器的概述
  • 关于datetime获取时间的问题
  • stm32内存踩踏一例
  • Doris 与 Elasticsearch:谁更适合你的数据分析需求?
  • 实战:子组件获取父组件订单信息
  • 快速上手shell脚本运行流程控制
  • 行为设计模式之Command (命令)
  • 嵌入式知识篇---Zigbee串口
  • 基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
  • 大话软工笔记—需求分解
  • RT-Thread内核组成——内核移植
  • SpringBoot 配置加载顺序?
  • 如何彻底删除windows10自带的美式键盘
  • 鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
  • 2025年06月07日Github流行趋势