-
em相对于父元素font-size,嵌套易失控;rem始终相对于根元素font-size,适合全局缩放。响应式优先用rem,局部缩放才用em;避免html设62.5%影响可访问性。
-
通过CSS自定义属性实现动态主题切换,定义:root和[data-theme='dark']中的变量,利用JavaScript切换data-theme属性并结合localStorage持久化用户偏好,实现亮色、暗色主题的实时切换与记忆功能。
-
答案:Symbol.iterator是JavaScript中定义对象可迭代行为的核心机制,通过实现[Symbol.iterator]方法并返回具有next()的迭代器对象,可使自定义对象支持for...of和展开运算符等语法。
-
表格单元格内浮动元素不响应text-align,因float使元素脱离文档流,而text-align仅作用于块级容器内的行内内容;正确做法是用text-align和vertical-align控制对齐。
-
JavaScript实现真正私有类字段的官方推荐方式是使用#前缀语法,如#balance在类外部无法访问,确保了语言层面的强封装性,而WeakMap等旧方案因需外部存储且不够直观而受限。
-
JavaScript迭代器是统一遍历接口,通过next()返回{value,done}对象;手动实现需提供符合规范的Symbol.iterator方法;生成器函数用yield简化迭代器创建。
-
trycatch仅捕获同步错误,异步错误需用async/await配合await或Promise.catch;finally适合无条件清理,避免修改返回值或抛新错;错误对象应善用message、stack、name及自定义继承。
-
flex子项需加min-width:0才能触发text-overflow:ellipsis,因其默认min-width:auto会阻止压缩;同时须满足width/max-width、white-space:nowrap、overflow:hidden三条件。
-
brightness()函数可调节元素亮度,值小于100%变暗,大于100%变亮,常用于图片、图标等视觉调整,支持与其他filter组合使用,如contrast、invert等,适用于悬停效果、夜间模式等场景,注意避免影响色彩还原和可访问性。
-
用transform:translate()替代left/top可避免重排、启用GPU合成,实现平滑动画;需确保定位属性存在,统一用transform初始化,动态位移优先JS修改style.transform;可加translateZ(0)或will-change优化兼容性,但需及时清理。
-
用position:absolute贴飘带需父容器设position:relative;左上角用top:0;left:0;transform-origin:topleft;skewX(-20deg);右上角用top:0;right:0;transform-origin:topright;skewX(20deg);z-index设1–2,pointer-events:none,并加translateZ(0)防闪烁。
-
DllPlugin通过预编译第三方依赖为DLL并配合DllReferencePlugin引用,跳过重复构建流程以提升速度;需分步配置DLL构建与主构建引用,注意版本更新同步、Git忽略DLL文件及HMR限制。
-
align-self在多列文字中不起作用,通常因父容器未设为flex容器或子元素非直接子节点;需确保display:flex、检查computedstyles、区分align-items与align-self作用范围,并注意IE11兼容性问题。
-
JavaScript的search()方法仅返回首个匹配项索引,不支持全局搜索、不返回匹配内容或捕获组、忽略g标志但尊重i/m标志、且无法指定起始位置。
-
Less中.clearfix等Mixin不生效,因Less仅做语法转换而不解析CSS语义,厂商前缀需显式调用Mixin或集成Autoprefixer;手写flex()需分IE10旧语法(-ms-flexbox)与现代标准,且属性须配对;Autoprefixer须在Less编译后通过构建工具接入。