-
postcss-discard-duplicates仅删除字面重复规则,无法识别语义等价声明;需用css-tree解析AST并归一化值、展开简写、标准化单位与格式;cssorestructure可合并同文件内无隔离的同义规则,但不跨文件、不处理CSS-in-JS、不模拟运行时,且人工须核查覆盖逻辑、媒体查询嵌套及自定义属性依赖。
-
可使用HTML实体编码、Unicode十进制/十六进制编码、CSS伪元素或FontAwesome等方法插入箭头符号;例如→用→或→或→,CSS中用content:"\2192",FontAwesome用。
-
怎么用:invalid让输入框自动标红直接加:invalid样式就行,但得先确保表单控件有校验约束(比如required、type="email"),否则浏览器根本不会触发这个伪类。它只对「原生校验失败」生效,不是你随便输点啥就变红。常见错误是写了:invalid却没反应——八成是没加required或用了自定义校验(比如JS的setCustomValidity())但没调用reportValidity()。input[type="email"]输入“abc”会触发
-
maxlength属性原生支持input和textarea的字符数限制,浏览器层面拦截输入,避免闪烁问题;需注意拼写正确、仅适用于表单元素,且后端必须重复校验。
-
使用CSS过渡提升弹窗体验,通过opacity和transform实现淡入滑入效果,配合visibility与transitionend事件控制显隐时机,避免直接过渡display属性。
-
HTML中“备用验证方式切换”需JS控制显隐,推荐用fieldset包裹、region角色标记区块,验证码输入框用inputmode="numeric"而非type="tel",并做好焦点管理、防抖及无障碍支持。
-
可通过CSS的border-radius属性实现HTML5搜索框圆角效果,支持内联样式、内部样式表、外部CSS文件三种方式,并需注意浏览器兼容性及box-sizing属性配合使用。
-
推荐使用伪元素+渐变背景模拟阴影,通过::before或::after设置linear-gradient配合filter:blur()和z-index实现;也可用多层box-shadow叠加形成过渡错觉,适合简单场景;对复杂图形可选drop-shadow();CSSPaintAPI为实验性方案。
-
应使用HTML5的<video>标签嵌入视频,通过src或<source>提供MP4/WebM等多格式,添加controls、poster、preload等属性,并结合CSS与JavaScript实现响应式布局和自定义控件。
-
padding-top百分比能固定宽高比,因其值按包含块宽度计算,配合absolute定位子元素可实现响应式比例布局;4:3为75%,16:9为56.25%,兼容性优于aspect-ratio。
-
justify-items用于Grid布局中控制项目在行内轴(水平)的对齐,align-items在Grid和Flexbox中均适用,控制块轴(垂直)对齐,Flexbox中主轴对齐由justify-content实现,默认值均为stretch。
-
首先在基线状态拍下堆快照,执行操作后再拍一张并对比,筛选“Detached”对象,通过引用链定位未释放的DOM元素,找到代码中未清理的引用并修复,从而解决内存泄漏问题。
-
memoize是一种手动实现的缓存策略,用Map存储输入与输出,提升纯函数(尤其递归)性能;手写需支持可序列化参数、保持this上下文,JSON.stringify有局限,Map可避免键冲突。
-
sessionStorage可存XML字符串,但需先用XMLSerializer序列化、再用DOMParser解析;其数据仅限当前标签页会话,刷新保留,关闭标签页即丢失,且单条容量通常限5–10MB。
-
1.关闭回调阶段是Node.js事件循环最后处理资源清理回调的环节;2.它确保socket.destroy()、server.close()等操作的回调被执行,防止资源泄露;3.该阶段对优雅停机至关重要,保障连接关闭后才退出进程;4.调试时可用--trace-event-loop-phases和process._getActiveHandles()定位未释放资源。