-
JavaScript数组操作核心在于按场景选用合适高阶函数:map用于生成新数组,forEach处理副作用,filter返回匹配项数组,find返回首个匹配项,reduce用于复杂累计逻辑,修改原数组需谨慎并明确标注。
-
auto-fill先建满所有可能轨道并留空占位,auto-fit按子元素数量建轨后拉伸填满;前者适合需预留插槽的场景,后者适合内容自适应布局。
-
CSSNano压缩后样式失效主因是默认激进规则误删/改写关键代码,需禁用mergeRules、sortSelectors等选项,确保其作为PostCSS插件正确配置在postcss-loader中且顺序合理。
-
A标签通过href、target、title、rel等属性定义链接行为,正确格式化可提升代码可读性与安全性。标准写法使用双引号包裹属性值,多属性时建议分行排列,如<ahref="https://example.com"target="_blank"title="点击访问官网"rel="noopenernoreferrer">访问网站</a>,便于维护;添加class或style时保持统一缩进,利于团队协
-
Sass模块化用@use替代@import实现样式作用域隔离,组件独立文件+语义类名map集中管理+响应式变量同步测试配置,确保样式可定位、可替换、可验证。
-
CSS网格线命名必须在grid-template-columns/rows中轨道尺寸前后用空格包围的[name]语法,如1fr[header-top]2fr;命名仅提供语义别名供grid-column-start等引用,区分大小写且行列线独立,不支持变量,兼容现代浏览器但IE不支持。
-
CSS变量不能直接用于@media条件,需通过:root定义断点值并配合媒体查询重设、构建工具替换或JS动态控制;流体缩放应使用clamp()与calc()组合变量,注意单位兼容性;变量仅传递状态,响应逻辑仍需媒体查询、容器查询或JS监听配合。
-
上下浮动动画需用@keyframes配合transform:translateY()实现,位移量宜小(±8px),起止状态一致,周期内往返偏移;须避免重排、确保DOM挂载后触发,启用硬件加速并控制视口内播放。
-
1px边框在跨平台(尤其iOSSafari和旧AndroidWebView)中易渲染模糊或虚线,主因是sub-pixel渲染差异;推荐优先使用伪元素+scale(0.5)方案,兼容性最佳。
-
flex-direction:column不能实现瀑布流,因其子项垂直堆叠、无法回填空白,且flex-wrap在column下无效;纯CSS瀑布流唯一可靠方案是columns属性。
-
Map的键支持对象/函数且不转字符串,而Object会将对象键转为"[objectObject]"导致覆盖;Map用SameValueZero比较保留引用,遍历严格按插入顺序,提供size、has()等确定性API,不可用中括号或点号访问。
-
WeakMap的键只能是对象,原始值会报错;它不阻止垃圾回收,而Map会强引用锁住对象;WeakMap不支持遍历、size、clear等操作,适用于为对象附加私有元数据。
-
HTML分段应使用语义化块级标签(如<p>、<section>)而非换行或<br>,配合CSSmargin控制间距,并在模板/JS中显式包裹标签,确保结构清晰、响应式友好且无障碍可访问。
-
Provide/Inject是Vue跨组件共享逻辑的轻量机制,通过按模块provide(如Symbol('user'))和inject实现解耦;需用readonly保障安全性,适用于中低频状态传递,非全局状态管理替代方案。
-
margin、border和padding影响元素布局空间:content为内容区,padding扩增内部尺寸,border增加边框厚度,margin创建外部间距;默认width仅含content,而box-sizing:border-box可使width包含padding和border,避免溢出。