-
border-radius生效需配合background-color或border;img加圆角须自身设置并设display:block;box-shadow不随圆角变形,需overflow:hidden或filter:drop-shadow();移动端小圆角发虚宜用偶数像素或50%。
-
不能。flex-shrink:0单独使用无法修复移动端图片压缩变形,因缺失flex-basis导致初始尺寸失控,须配合flex:00auto、width:auto、height:auto三者协同。
-
外部样式表提升可维护性需配合合理组织:集中管理、命名规范(如BEM)、避免!important、统一媒体查询、缓存优化、按功能拆分文件,并用构建工具替代@import。
-
scroll-snap-type在移动端不生效需同时满足:父容器设overflow-x:auto/scroll、scroll-snap-type设于滚动容器、有明确宽度;子项用scroll-snap-align:start;iOS需加-webkit-overflow-scrolling:touch;active状态推荐用IntersectionObserver监听。
-
用Map实现撤销/重做,核心是将其作为“操作-快照”索引层,键为操作ID或类型序号,值存深拷贝状态、diff摘要或命令对象,避免引用污染;更新严格匹配用户显式意图,还原时协同past/future指针精准定位。
-
animation-timing-function通过速度曲线控制CSS动画节奏,不改变总时长;支持ease、linear、ease-in/out、steps()及cubic-bezier()自定义,需符合[0,1]参数范围,且transition与animation共用该属性。
-
style-loader必须在css-loader右侧,因Webpackuse数组从右向左执行:css-loader先解析CSS为JS模块,style-loader再注入到head;顺序颠倒会报错。
-
Map和Set通过树形(如TreeMap,O(logn))或哈希(如HashMap,平均O(1))实现,将查找、插入、删除从O(n)优化为稳定高效,适用于动态频繁操作场景。
-
ES2024的/v标志支持Unicode集合运算:&&表示交集(如[\p{ASCII}&&\p{Letter}]匹配ASCII字母),--表示差集(如[\p{Number}--[69]]),仅限静态解析,不支持运行时动态计算。
-
SharedWorker不能直接显示通知或申请权限,但可作为多窗口通知调度中枢,统一处理去重、可见性校验、节流及降级:通过业务ID缓存、permission与visibilityState双校验、客户端注册/注销管理,确保合规前提下轻量可控地推送通知。
-
划线动效应使用::after伪元素配合width动画或transform:scaleX()实现,避免text-decoration;需设position:absolute、display:block、overflow:hidden及transform-origin:leftcenter以确保精准展开。
-
BEM-Lite是精简版BEM,仅强制block__element和block--modifier两段式命名,允许元素不嵌套、禁止修饰符叠加,不校验文件路径或组件目录绑定。
-
原生<dialog>默认不渲染,必须用showModal()或show()激活;仅设open属性可初始显示,但showModal()才启用遮罩、ESC关闭和焦点锁定。
-
localStorage持久存储、跨标签页共享,适合长期非敏感数据;sessionStorage仅限当前标签页、关闭即销毁,适合临时状态。二者均只支持字符串、需手动序列化,不可存敏感信息,且无过期机制。
-
后端收不到字段八成是误用disabled而非readonly;disabled使字段值不提交,readonly则正常提交且支持聚焦复制;select等不支持readonly的元素需用替代方案。