-
Commander.js是Node.js中构建命令行工具的高效库,支持快速定义命令、参数、选项及子命令,并自动生成帮助信息。通过链式调用可轻松设置程序名称、版本和描述,如program.name('my-cli');使用.command('hello')定义基础命令并绑定action执行逻辑。支持必选<name>与可选[type]参数,通过.option()添加选项并设默认值,如-t,--type[type]默认'app',--force作为布尔标志。复杂工具可用.command()创建嵌套结
-
最直接方式是用rgba()函数设置box-shadow或text-shadow颜色值,通过r、g、b和0~1的alpha控制半透明效果,兼容性好、语义清晰;避免opacity或#RRGGBBAA等不推荐写法。
-
text-overflow:ellipsis默认只对单行生效,因其依赖块级元素、overflow:hidden及white-space:nowrap共同作用;多行需用-webkit-box+-webkit-line-clamp实现,且Firefox等不支持需JS降级。
-
掌握HTML布局需综合运用语义化标签、Flexbox、Grid、浮动及媒体查询:一用header/nav/main/section/footer构建结构;二用Flexbox实现一维弹性布局;三用Grid完成二维网格控制;四以float+clear兼容旧浏览器;五借媒体查询实现响应式断点适配。
-
minmax(300px,1fr)中最小值限制导致小屏下无法折行,应改用minmax(min-content,1fr)或结合clamp()实现真自适应。
-
九宫格用flex难均分主因是依赖子项数量,图片不足时留白不均、末行无法居中;grid用repeat(3,1fr)固定三列、gap控间隙、grid-auto-rows:minmax(200px,auto)保行高,结构稳定且语义清晰。
-
Object.defineProperties()专为精确控制多属性的configurable/enumerable/writable/get/set/value等行为设计,非批量赋值快捷方式;必须传入合法描述符对象,value/writable须成对出现且不可与get/set混用,configurable:false后属性不可删或重定义。
-
Safari14–15.6中Flex子元素height:100%不生效,因父Flex容器未被识别为有明确高度的上下文;需显式设父容器height,或改用align-items:stretch并移除height:100%。
-
text-emphasis是纯CSS属性,不能作为HTML属性使用;必须通过style或样式表设置,并需同时声明-webkit-text-emphasis和text-emphasis以兼容Safari,中文使用时推荐text-emphasis-position:under并注意字体支持。
-
表单提交必须调用event.preventDefault()阻止页面刷新,否则JS逻辑丢失;input事件适合实时验证但需防抖,change事件适合完成态校验;取值用.value而非innerText,复选框判断.checked;form.reset()仅重置HTML初始值,不处理JS动态修改或框架状态。
-
JSON.parse()是JavaScript解析JSON的核心函数,需传入合法双引号字符串,禁用单引号、尾逗号、undefined等;须用try...catch安全处理,reviver参数可过滤字段或转换类型。
-
动画响应式失效因@media未重置关键帧或状态,应优先用transform/opacity、显式声明transition、独立keyframes名;prefers-reduced-motion下需设animation:none;iOS卡顿需will-change或translateZ(0)启硬件加速;改duration须先animation:none再重声明。
-
clear:both仅在浮动导致内容塌陷、错位或父容器高度塌陷时必需,用于让元素避开上方左右浮动框;现代方案优先选用display:flow-root或Flex/Grid布局。
-
z-index不生效的主因是元素未定位或处于独立层叠上下文中;必须设置position且避免父级触发opacity、transform等新层叠上下文,否则子元素z-index仅在内部有效。
-
必须为父容器设置display:grid或inline-grid才能使align-items:center生效;它仅作用于直接子元素在交叉轴的对齐,且容器需有明确高度(如min-height:100vh)才能体现居中效果。