-
Chrome默认根字号16px且严格遵循CSS规范,IE(尤其IE9–11)rem支持不全、缩放行为不同;推荐用px保兼容,rem需显式设html为16px并确保标准文档模式。
-
WeakSet只能存储对象且不阻止垃圾回收,其成员为弱引用,对象被回收后自动从WeakSet中移除;无size属性、不可迭代,仅支持add()、delete()、has()方法,适用于对象标记而非数据存储。
-
SharedWorker可实现跨窗口多步表单数据同步,关键在于统一状态管理、显式事务语义与状态校验:Worker承载唯一formState,所有读写经其中转;通过seqId和fromStep防错序;IndexedDB持久化+页面卸载前flush;提交由Worker单点发起并防重。
-
本文详解如何基于Tocca.js在移动设备上为元素绑定swipeleft/swiperight事件,并解决常见点击触发失效问题,确保滑动后能正确执行跳转或自定义逻辑。
-
IIFE本质上是被括号包裹的函数表达式并立即调用,因JavaScript引擎将函数声明与表达式区别解析,括号使其转为表达式以避免SyntaxError,从而实现作用域隔离、避免全局污染及模块化封装。
-
:is()适用于重复父路径加多个子选择器的场景,如.article:is(h1,h2,.meta),可避免重复书写父选择器、提升可维护性;不适用于跨不同祖先的选择器合并,且需注意特异性、兼容性和禁用嵌套与伪元素。
-
HTML变量在主题切换中不能直接用。需通过data-theme属性配合CSS规则声明变量,JS仅设置属性;刷新时须手动从localStorage恢复,并确保在CSS加载后、组件渲染前执行。
-
HTML无法实现艾宾浩斯算法,必须用JavaScript动态计算复习间隔;需根据用户操作实时更新data-next-review等属性,并将复习计划存入localStorage,日期比较应使用newDate()转时间戳。
-
Symbol是ES6引入的唯一值类型,用于避免属性名冲突、模拟私有属性、定义对象特殊行为(如Symbol.iterator)和替代魔术字符串,提升模块安全与语义清晰性。
-
justify-content和align-items对绝对定位子元素无效,因为position:absolute使元素脱离文档流、不再属于flex项目,无法参与flex布局计算;其定位仅依赖最近的定位祖先及top/left/transform等属性。
-
系统性掌握HTML5需分三阶段:一、掌握语义化标签结构,如<header><nav><main>等及DOCTYPE声明;二、通过复刻响应式页面练习盒模型与媒体查询;三、用JavaScript实现DOM获取、事件监听与内容修改。
-
Modernizr是全局特性检测最省心方案,通过HTML类名和Modernizr对象支持多特性检测;原生JS可用in操作符、CSS.supports()和Image实测分别检测API、CSS和图片格式支持。
-
单行省略必须同时满足white-space:nowrap、overflow:hidden、text-overflow:ellipsis且容器有明确宽度;多行省略在Less中依赖-webkit-line-clamp组合四属性(display:-webkit-box、-webkit-box-orient:vertical、-webkit-line-clamp、overflow:hidden),缺一不可,且受限于WebKit/Blink内核,Firefox等仅能降级为max-height+hidden。
-
正确控制Grid子元素换行高度需结合grid-auto-rows与line-height设置。1.grid-auto-rows定义隐式行高,确保每行基础高度一致;2.line-height影响文本渲染,过大或相对值会导致内容区域溢出;3.子元素应设overflow:hidden、min-height:0或使用line-clamp限制行数,防止文本换行撑开布局;4.推荐配合flex居中内容,实现等高卡片稳定显示。
-
<tr>标签本身无悬停效果,需CSS或JS实现;推荐用tbodytr:hover(需含<tbody>)、避免内联JS、注意IE8兼容性及移动端适配。