-
fr单位按剩余空间分配而非容器总宽,受padding、gap、min-width影响;响应式需用repeat(auto-fit,minmax(280px,1fr));等高靠align-items:stretch或flex-column+margin-top:auto;IE11不支持fr,应降级为Flexbox。
-
JavaScript正则表达式元字符需用双反斜杠转义,escapeRegExp函数通过字符类匹配14个特殊字符并统一替换为"\$&",兼容字面量和RegExp构造函数,确保动态字符串安全匹配。
-
使用:focus伪类可提升表单交互体验,如改变边框色、添加阴影;需保留或替换outline确保可访问性,配合transition实现平滑动画,增强用户体验。
-
HTML5元数据升级聚焦charset、viewport及语义化name值,强化SEO与可访问性;charset须置head最前,viewport禁用user-scalable=no,keywords已失效,canonical等标签冲突会直接损害页面可信度。
-
sizes必须带单位(如vw、px),用于告知浏览器图片渲染宽度,再结合srcset中宽度描述(如100w)匹配最适源;写错则选图偏差。
-
Chrome禁用JS后页面仍可交互,因disabled属性、:hover伪类和原生表单验证不受影响;禁用JS仅使fetch、addEventListener等脚本逻辑失效,而DOM结构、CSS响应和部分HTML行为照常运行。
-
用grid-template-columns:repeat(auto-fit,minmax(100px,1fr))+gap实现等宽步骤指示器最稳妥,自动适配步数变化;连接线用容器伪元素+inset-block:50%居中绘制;IE11降级用inline-block+text-align:justify配合隐藏::after撑开。
-
需手动安装并注册插件,如运行npminstall-D@tailwindcss/forms后在tailwind.config.js的plugins数组中添加require('@tailwindcss/forms')。
-
try-catch仅捕获同步运行时错误(如ReferenceError、TypeError),无法捕获异步错误;Promise错误需用.catch()或await+try-catch处理;catch应分类处理、记录上下文、友好提示;finally用于清理但不改变错误流向。
-
双击HTML文件能否正常打开取决于默认浏览器设置;Windows需检查并修改文件关联,Mac建议拖入Chrome/Firefox或用终端命令打开;开发时应使用LiveServer等本地HTTP服务避免file://协议限制。
-
:empty伪类用于选择无子元素或内容的元素,可隐藏空提示容器、标识表格空单元格、设置动态内容占位符;需注意其严格判定规则,仅匹配完全空白的元素,含空格、换行或注释均不匹配。
-
Flex转Grid时,父容器必须显式设display:grid并定义grid-template-columns或grid-template-rows,否则网格无结构;子项居中需改用justify-self/align-self或place-items;fr与flex-grow逻辑不同,不可简单对应;justify-content与justify-items作用对象不同;响应式推荐auto-fit+minmax而非多段@media。
-
根本原因是box-sizing默认为content-box,导致padding不包含在100vh内,使总高度超视口而出现滚动条;应改用border-box并配合background-origin:padding-box等设置。
-
MessageChannel是JavaScript中用于跨上下文安全高效双向异步通信的核心机制,通过一对关联的MessagePort实现隔离通信,支持Worker和iframe场景,需调用start()启用、close()关闭,遵循structuredclone序列化规则。
-
内存泄漏在JavaScript单页应用中可能导致性能下降或崩溃。常见类型包括:意外的全局变量、未解绑的事件监听器、闭包引用、定时器回调和DOM引用未释放。使用ChromeDevTools的堆快照、内存分配时间线、DetachedDOM树和Performance面板可定位泄漏。预防策略有:避免全局变量、及时解绑事件和清除定时器、使用WeakMap/WeakSet、框架中正确管理生命周期。通过代码模拟并结合工具验证,可有效发现并解决泄漏问题。关键在于养成定期检查与规范编码的习惯。