-
CSScounter无法实现倒计时,因其静态特性不支持时间驱动更新;真正可行方案是JS管理时间逻辑并更新DOM,CSS仅负责样式与过渡动画。
-
sticky定位是relative与fixed的结合体:初始如relative在文档流中,滚动至临界点(如top:0)时“粘住”视口,父容器移出视口后恢复relative;需设top/bottom/left/right、祖先无overflow:hidden/auto、非table布局且父容器有高度。
-
BEM类名禁用嵌套选择器因破坏块的独立性,正确做法是用扁平化语义类名如.card__title;目录按block-element-modifier三层组织以提升可维护性;modifier统一用--前缀;避免过度分解,复用性低的结构应使用工具类而非element。
-
Flex的order属性可纯CSS重排视觉顺序,不影响DOM和可访问性;需注意主轴方向、默认order值、移动端优先策略及避免与display:contents混用,复杂场景推荐Grid的grid-template-areas。
-
transform会改变定位基准,因为非none的transform值会强制创建新包含块和层叠上下文,使absolute元素相对于它而非预期父容器定位。
-
HTML5本身不支持建模与反射,需通过WebGL(如Three.js)实现;反射依赖MeshStandardMaterial的metalness、roughness、envMap及光照配置,且必须正确加载环境贴图并设置depthWrite:false。
-
伪元素默认不创建层叠上下文,z-index无效;须父元素触发层叠上下文(如position+非autoz-index)后,伪元素才可通过z-index参与排序。
-
JSON不特殊处理空格,字符串内空格为U+0020,解析后可直接使用;HTML空格实体如 不属于JSON规范,混入属数据污染,应源头剥离或用CSS/语义方案解决。
-
ChromeDevTools点不到Sass源文件,主因是sourcemap链断裂:Sass编译未显式启用、构建工具覆盖配置、.map路径解析错误、sourceRoot缺失或@use扁平化导致行号偏移。
-
Vue2中全局事件总线需在created/mounted绑定、beforeDestroy解绑,禁用匿名函数,推荐mixin封装或改用provide/inject、Pinia等现代方案。
-
text-align:justify对中文基本无效,因汉字间无天然断点;需配合text-align-last:justify、零宽空格或letter-spacing模拟,且在flex容器中需设width:100%才生效。
-
虚拟DOM是用JavaScript对象模拟真实DOM的性能优化策略,通过内存中构建JS对象树、diff算法精准定位变更、批量更新减少重排重绘,并支持跨平台复用。
-
在JavaScript中,可以通过以下方式捕获未处理的Promise拒绝:1.在浏览器中使用window.onunhandledrejection事件;2.在Node.js中使用process.on('unhandledRejection')事件;3.使用.catch()方法在代码中处理Promise拒绝;4.实施全局错误处理函数来统一处理未处理的拒绝。通过结合这些方法,可以确保JavaScript应用程序的健壮性和用户体验。
-
BroadcastChannel是同源页面间广播通信的原生API,支持标签页、iframe等实时消息传递;需同源且注意兼容性与隐私模式限制,适用于多标签状态同步等场景。
-
center-flexMixin是最稳的块级元素居中方案,通过display:flex、justify-content:center、align-items:center实现真正居中,不依赖宽高、不触发BFC异常、不与float冲突。