-
fixed定位失效的根本原因是父容器使用transform、perspective或filter创建新层叠上下文,使fixed脱离视口参考系;z-index失效源于层叠上下文断层;iOS安全区需用env(safe-area-inset-bottom)适配;性能问题需优化will-change和pointer-events。
-
UI设计师需了解主流CSS工具与框架以提升协作效率与设计落地质量,重点包括TailwindCSS、Bootstrap/ElementPlus/AntDesign、Bulma/Skeleton及CSS重置规范,核心在于理解其对设计表达、组件复用和实现边界的影响。
-
振动权限需用户手势触发且页面为HTTPS,iOS限500ms单值、Android支持数组模式,调用前须检测API可用性并降级处理视觉反馈。
-
HTMLmeta的content是元数据值,须与name或http-equiv配对;CSS伪元素的content是生成内容指令,仅用于::before/after;contenteditable是布尔属性,控制编辑状态,三者语义与用法互不相关。
-
强缓存是浏览器根据响应头(如Cache-Control、Expires)跳过请求、直接复用本地文件的机制,仅依赖URL一致性和缓存时效性,不校验服务器资源是否更新;其核心缺陷是URL不变则无法感知内容变更,故需通过文件名哈希使内容变化映射为URL变化,从而强制刷新缓存。
-
304状态码是协商缓存生效的信号,表示资源未修改,浏览器复用本地缓存。它依赖客户端携带If-Modified-Since或If-None-Match头,服务端比对后返回空响应体,节省带宽并提升性能。
-
canvas.toDataURL()导出失败主因是跨域污染,即drawImage跨域图片后canvas被标记为污染状态,导致返回空白或黑图;需用HTTP服务、设置crossOrigin且服务器支持CORS,同时注意DPR适配、格式兼容及Blob内存管理。
-
使用Flexbox实现等高列只需父容器设置display:flex,子元素会自动拉伸对齐最高列。2.默认align-items:stretch使子项沿交叉轴填满容器高度。3.HTML结构为包含多个.column的.container容器。4.CSS中.container设为flex布局,.column添加样式如内边距和背景色。5.注意避免子元素设置float、absolute定位或固定height影响拉伸效果。6.确保min-height不覆盖stretch行为,注意嵌套flex布局的影响。7.Flex等
-
传统<link>标签在SPA中易导致全局样式污染、维护困难、死代码堆积、加载性能差和封装性缺失,难以适应组件化开发。现代方案通过构建工具将CSS模块化,如CSSModules实现局部作用域和按需加载,CSS-in-JS支持动态样式与逻辑共存,Tailwind提供原子类快速开发,Sass/Less增强可维护性。选择方案需权衡项目规模、团队习惯、动态需求、性能与可维护性,结合Webpack或Vite实现打包优化。优化后可显著提升首屏速度、减少资源体积、实现精准缓存、降低布局抖动,最终增强用户体验。
-
控制台报错不显示文件名和行号,主因是file://协议限制;执行顺序错误、sourcemap缺失、日志未保留也会导致定位困难;需改用HTTP服务、检查脚本顺序、开启sourcemap并勾选Preservelog。
-
class和id命名必须语义化,即描述功能或内容而非样式、位置或标签类型,如用article-meta代替red-text,用main-content代替left-sidebar,并统一采用kebab-case,确保可维护性与团队协作效率。
-
Intl.Segmenter不能直接实现语义分词式全文搜索高亮,因其仅按Unicode规则划分边界,不识别“南京市”等实体,需结合字符串匹配与位置映射才能精准高亮。
-
最简方案是用transform:translateX(-280px)和translateX(0)配合transition实现drawer弹出,需设固定宽度、position:fixed、bodyoverflow:hidden,并通过class切换控制状态,避免直接操作style。
-
手风琴边框由CSS控制,非HTML或属性开关决定;需对容器如.accordion-item设border及overflow:hidden配对border-radius;无边框应通过间距、背景色、阴影等替代,避免粘连。
-
JavaScript的解构赋值基于结构相似性实现数据提取,非真正模式匹配。它通过语法糖按索引或键名直接映射:数组按位置、对象按属性名逐层提取,支持嵌套与默认值,但无回溯、守卫或多分支机制。