-
HTML5的hidden属性用于逻辑隐藏元素:不渲染、不占空间、不被屏幕阅读器读取,但DOM仍存在且JS可访问;而display:none是CSS视觉隐藏,彻底退出渲染流但无语义,且不可动画。
-
定位无用HTML需先验证再删除:在Elements面板悬停或右键删除元素观察渲染变化;注释超三个月、无class/id/style的嵌套div、空标签及404脚本链接可判定冗余;隐藏暂不用结构宜用display:none加dev-only标记,清理后须真实设备回归测试。
-
Unicode属性转义\p{...}是ES2018引入的正则特性,支持按脚本(如Han、Greek)和类别语义化匹配字符,需/u标志且运行于现代浏览器或Node.js10+环境。
-
不建议在watch回调中修改监听源,否则会引发同步无限递归更新并抛出“Maximumcallstacksizeexceeded”错误;根本原因是Vue响应式机制下读取→修改→再触发的闭环无法中断,且守卫判断无效,应通过解耦监听与修改路径、使用nextTick或computed等方式规避。
-
绝对定位元素使父容器高度为0,因其彻底脱离文档流,父容器计算高度时完全“看不见”它们;这是CSS规范行为,非bug。常见现象包括offsetHeight为0、背景不显示、兄弟元素上移;clearfix等浮动清除方案无效。
-
Xcode不直接运行HTML,但可通过创建iOS项目并使用WKWebView加载本地或远程HTML文件实现预览;2.添加HTML文件到项目后,在ViewController中导入WebKit,创建WKWebView实例并加载文件;3.若仅需预览,可用Xcode编辑HTML后直接用Safari打开查看效果;4.调试时可通过Safari的开发菜单连接模拟器中的网页进行JS和页面调试。
-
答案:通过SourceMap和堆栈解析技术可还原压缩代码的错误位置。SourceMap是记录压缩后代码与原始源码映射关系的JSON文件,构建工具如Webpack、Vite支持生成,上线时应将.map文件单独部署供解析系统使用。通过监听window.error和unhandledrejection事件捕获错误堆栈,提取文件URL、行列号后,利用sourcemap-js等库在服务端查询原始位置。需确保每个JS资源上传对应.map文件,通过sourceMappingURL指向,并在解析时校验版本一致性、过滤敏感
-
带参数的LessMixin必须显式声明默认值,否则未传参时编译报错中断;正确写法为在参数后用冒号设默认值、分号分隔,且所有参数均应设默认值以防编译失败。
-
BEM命名本身不导致性能问题,瓶颈在于过度嵌套的选择器如.page-home.layout-main.header.header__logo--dark引发的逐级回溯匹配;应直接使用.card__title等独立选择器,避免祖先链过长,并通过工具拦截冗余嵌套。
-
原生<inputtype="date">与自定义日历非替代关系,而是协同关系:前者保障可访问性、表单验证和系统级交互,后者仅在需动态禁用、多日期范围、非单日粒度等原生无法满足时作为UI增强层,须通过隐藏原生input或同步value来保持表单规范。
-
表单提交地址必须是可公开访问的URL,否则扫码无法打开;应部署到公网服务如GitHubPages,避免本地、内网或未部署地址,并用QRCode.js动态生成带高容错的二维码。
-
必须用标签而非CSS模拟,因其原生支持语义正确、浏览器自动适配字体基线、保障屏幕阅读器准确朗读,适用于化学式(如H₂O)、数学公式等需精确对齐与无障碍访问的场景。
-
可迭代协议要求对象实现Symbol.iterator方法,返回遵循迭代器协议的迭代器;2.迭代器协议要求对象具有next()方法,返回包含value和done属性的对象;3.二者共同支持for...of、扩展运算符等语法,使数组、字符串及自定义对象可被遍历。
-
在React中,自定义组件(如<AddTaskBtn/>)不会自动继承DOM事件监听能力;必须显式接收并透传onClick等事件处理函数到内部原生元素(如<button>),否则点击无响应、无报错、无日志。
-
:focus-visible不能替代:focus,因其仅在键盘导航时生效,需与:focus配合使用,且:focus-visible必须置于:focus之后;须先用:focus设默认无显眼样式,再用:focus-visible为键盘用户恢复焦点指示。