-
判断题组件应使用原生radio实现,每题name唯一(如q3),value严格为"true"/"false";需防护未选情况,用数据驱动比对答案,并通过labelfor绑定提升可访问性。
-
align-items:center本身不会导致按钮高度不一致,问题源于其未生效或被干扰:父容器未正确启用Flex、按钮自身设了height/min-height、混用vertical-align、图标未设display:block、文字换行或IE11兼容缺失等。
-
inherit无效最常见原因是用于不可继承属性(如margin、display),浏览器直接忽略;或父元素该属性计算值为initial/unset,子元素继承“空值”。
-
加了image-rendering仍模糊,因其仅作用于已缩放图片且不改变资源选择;根本原因是srcset配置错误或缺失sizes,导致未加载@2x/@3x图,而该属性无法提升原始分辨率。
-
clear:both不是清除浮动的最佳选择,因其仅解决兄弟元素遮挡而无法防止父容器塌陷,且引入冗余DOM;overflow方案有裁剪或滚动条副作用;现代推荐伪元素clearfix法,干净无副作用;长远应放弃浮动,改用flex或grid布局。
-
正确使用HTML5视频控件需添加controls属性并设置宽高,通过source标签指定视频路径和格式,推荐MP4以确保兼容性;为适配不同浏览器可提供多个格式源文件;可选autoplay、muted、loop和preload属性实现自动播放、静音、循环及预加载功能;若控件不显示,应检查controls是否遗漏、路径是否正确、服务器MIME类型配置及浏览器自动播放策略限制。
-
HTML5拖拽API仅捕获拖放动作并获取FileList,上传需配合FileReader或FormData与fetch/XHR;dragover和drop事件必须调用preventDefault(),否则流程中断;应直接使用dataTransfer.files而非items,移动端需降级为fileinput。
-
mix-blend-mode在移动端性能差,因其需与背后所有内容实时混合,强制全区域重绘;搭配transform会切断像素通路,导致CPU软合成、掉帧加剧;应减少混合范围、用isolation隔离、优先采用color/fallback等零开销方案。
-
div嵌套无语法错误,但超3层暴露结构或CSS问题;p、h1~h6、dt等标签内不可放div,否则浏览器自动修复导致DOM错乱;应优先用语义标签替代冗余div嵌套。
-
用<video>标签插入本地视频需确保路径正确、格式兼容(优先H.264+AAC的MP4)、添加controls属性,并用<source>多格式回退(MP4在前、WebM在后),同时注意file://协议限制、移动端静音要求及浏览器编码支持差异。
-
DOM更新必须先更新父节点属性(Prop)再更新子内容(Children),因为Prop决定节点身份与行为边界,是children更新的上下文前提;如class、key、事件绑定等未就位,会导致闪动、复用失效、事件丢失或无效渲染。
-
用document.createDocumentFragment()批量构建节点再一次性插入,能将多次重排重绘压缩为一次,性能提升显著,尤其在循环创建10+个DOM节点时就值得用。
-
在Vue3+TypeScript项目中,若需让自定义类实例(如masterClass)的嵌套属性(如items数组)具备深度响应性,并将业务逻辑完全封装在类内部,应使用reactive()而非ref()包裹类实例。在Vue3+TypeScript项目中,若需让自定义类实例(如`masterClass`)的嵌套属性(如`items`数组)具备深度响应性,并将业务逻辑完全封装在类内部,应使用`reactive()`而
-
直接缓存querySelector结果是最轻量优化方式,关键在于明确查询时机、存储位置、使用方法及防失效策略,并优先用getElementById、限定查询范围和从父节点查找。
-
利用闭包捕获的AbortController实现自动联动取消,核心是共享同一signal并在任一操作完成/失败/超时时调用abort(),使其余任务同步中止;需在工厂函数内创建controller、传入各子任务,并正确处理AbortError。