-
本文介绍如何基于HTML5视频播放状态(播放中/已暂停),通过JavaScript监听事件并配合CSS类切换,实现悬停时显示不同自定义光标(如play/pause图标),无需第三方库,兼容现代浏览器。
-
vw/vh是基于视口宽高的相对单位,1vw=视口宽1%,1vh=视口高1%,不依赖父元素;%相对于父元素,px是绝对单位;vw/vh适合全屏布局但需注意iOSSafari的vh跳变问题及字体失控风险。
-
CSS变量实现主题切换的正确方式是定义全局默认值并用data-theme属性局部覆盖所有相关变量,配合JS切换属性而非直接设style,注意兼容性、fallback及设计系统一致性。
-
const禁止重新赋值绑定但允许修改对象内部状态,let可重新赋值;两者均为块级作用域、存在暂时性死区、不可重复声明,且不挂载到window。
-
localStorage永久存储,sessionStorage仅限当前标签页;前者跨页面保留,后者关页即清;均受同源限制、API相同但数据隔离,且均不加密、不可用于存敏感信息。
-
Vue.js的Diff算法通过复用节点+调整插入位置实现“移动”,不直接移动DOM;核心是就地复用、key驱动精准识别、批量操作最小化真实DOM变更。
-
CSS变量需在目标元素或其祖先上声明并通过var()调用才生效,作用域由声明位置决定;应使用唯一前缀命名、集中管理、避免全局污染,并注意IE兼容性及JS动态修改的性能影响。
-
yield本身不处理异步,仅暂停生成器并交出控制权;真正实现异步暂停的是yield后接Promise并配合await或手动next()调度;asyncfunction*使yield可等待Promisesettle后再产出值。
-
模板字符串用反引号`包裹,因为只有反引号才能触发模板字符串解析机制,支持${...}插值、多行保留及表达式求值;单双引号仅创建普通字符串,不支持这些特性。
-
本文详解CSS媒体查询报错的根本原因——未在@media内部定义选择器和规则集,导致“缺少花括号”等误导性提示,并提供正确写法、典型错误对比及调试建议。
-
GeolocationAPI调用失败主因是未满足HTTPS协议及用户交互触发要求;需通过点击等动作调用getCurrentPosition(),正确处理success/error回调及配置项;watchPosition需手动clearWatch;错误码1/2/3分别对应权限拒绝、位置不可用、超时。
-
够用,但易误删关键交互节点;需确认元素是否参与可访问性流或被脚本依赖,且必须用@media限定范围,避免全局隐藏、高DPR误判及嵌套过深。
-
HTML不是“学”的,是“用”出来的——从写第一个能打开的文件开始,别碰教程、别背标签、别装编辑器。怎么让浏览器显示我的文字这是你唯一需要关心的第一步。所有“入门课”卡在这里:路径错、后缀名错、双击没反应。新建一个纯文本文件,用系统自带记事本(Windows)或TextEdit(Mac,设为“纯文本”模式)即可输入这三行,一个字别改:你好,HTML保存时,文件名填index.html(不是index.txt,不是网页.html),编码选UTF-8双击这个文件——如果浏览器弹出
-
伪元素默认不拦截点击事件,但因属于独立渲染图层,若覆盖内容且未设pointer-events:none,便会阻挡点击;解决方法是为其显式设置pointer-events:none,注意IE11不支持需降级处理。
-
JavaScript操作NFC主要通过WebNFCAPI实现,需在HTTPS安全上下文下由用户手势触发,使用NDEFReader对象读写NDEF格式数据;2.读取标签需创建NDEFReader实例,监听onreading事件并调用scan()方法;3.写入数据通过write()方法将包含文本、URL等记录的消息写入标签;4.可调用makeReadOnly()方法将标签设为只读;5.该API不支持低级APDU命令、NFC卡模拟、点对点通信及后台扫描;6.浏览器支持有限,主要适用于Android的Chrome