-
color()函数不支持印刷专色,device-cmyk()和color(cmyk...)均无效;唯一可用广色域空间是display-p3,需@supports检测且仅在P3屏幕生效;印刷场景应脱离CSS,交由专业印前流程处理。
-
FID必须用JavaScript主动监听计算上报,不能靠HTML控制;其本质是用户触发事件到浏览器开始处理的排队延迟,需用event.timeStamp减performance.now()近似计算,且监听须尽早注册并过滤后台事件。
-
JavaScript异步编程以Promise为基础抽象,async/await是其语法糖;Promise封装状态(pending/fulfilled/rejected),支持链式调用与并发方法;async/await简化书写与错误处理,二者定位不同、协同使用。
-
应直接使用<picture>实现AVIF/WebP适配,因其无需JS、不发额外请求、SEO友好且原生支持;srcset不识别格式,必须依赖<sourcetype>做MIME类型匹配,顺序为AVIF→WebP→JPEG,并确保各格式尺寸与质量一致。
-
border-spacing没反应最常见的原因是border-collapse被设为collapse,此时该属性被浏览器忽略;必须显式设置border-collapse:separate且作用于table元素,其第一个值控制列间距、第二个值控制行间距。
-
TailwindCSS适合什么项目?不适合什么项目?Tailwind不是“万能加速器”,它真正提效的前提是:你有至少3个中等复杂度页面,且团队愿意统一用原子类表达设计意图。小项目(比如单页登录表单、A/B测试页)硬套Tailwind,反而会因全量扫描content路径、加载未用类、热更新卡顿而拖慢开发。适合:中后台系统、Next.js/React/Vue项目、需要高度定制品牌色与间距体系的业务线不适合:仅需兼容IE11的老系统、静态营销页(bootstrap.min.css一行引
-
正确做法是用position:absolute;left:-9999px视觉隐藏文件输入框以保留可交互性,再通过按钮点击事件同步调用其click()方法触发选择对话框,并监听change事件获取FileList。
-
Map迭代天然无序,需显式排序构建有序字典:可通过key切片排序、维护插入顺序或使用有序map库实现,避免依赖偶然顺序。
-
正则{n,m}限制的是Unicode码点数而非字节数;若需校验UTF-8字节长度,必须配合后端编码计算,前端正则仅能粗略拦截。
-
Vue页面刷新数据丢失的根本原因是Vuex状态仅存于内存,需将关键信息如登录态、菜单、权限等持久化至sessionStorage;初始化时从sessionStorage读取并做类型转换,所有mutations中同步写入,推荐使用vuex-persistedstate插件实现可靠持久化。
-
生产环境Tailwind样式丢失主因是PurgeCSS误删class,需检查content配置是否覆盖动态class来源,正确设置safelist正则,并通过debug:true或临时禁用content验证。
-
闭包是构建跨平台适配层最轻量可靠的方式,通过在初始化阶段固化环境配置并捕获为自由变量,使函数调用无需运行时判断,支持多平台专属实例、行为封装及工厂函数动态创建。
-
浮动布局中空白间距主要由HTML换行、空格及默认margin/padding导致,可通过合并HTML标签、注释消除空格、设置font-size:0或重置样式清除,默认使用Flexbox或Grid布局更佳。
-
kbd标签仅语义化表示用户实际按键操作,如Ctrl+C;不可用于文本样式、表单包裹或键盘外观模拟,应改用span+CSS实现。
-
应使用opacity过渡替代background-image过渡,因后者多数浏览器不支持;典型做法是两张图叠放,通过opacity控制显隐,并预加载图片、设固定宽高、明确background-size和background-position避免闪屏与重排。