-
能,但仅对正在运行的动画生效;已结束或未触发的动画无效,且不支持过渡、不触发事件,需用element.style.animationPlayState精准控制。
-
“不自然”源于缓动函数、起止值或触发时机未对齐;应统一使用cubic-bezier(0.25,0.46,0.45,0.94),scale起始设0.9–0.95、终点为1、中段可微弹至1.02,opacity起点禁用visibility:hidden,需配合pointer-events:none,并添加will-change:opacity,transform提升GPU渲染。
-
本文介绍一种高效、非递归但逻辑等价于递归的算法,将扁平的节点数组按parent-id关系构建成嵌套的树形结构,适用于文件系统、菜单、组织架构等场景。
-
动态import()不能直接加载HTML文件,仅支持JavaScript模块;需用fetch()加载HTML片段并注入,或通过构建工具(如Vite?raw)转为字符串,但非浏览器原生能力。
-
Proxy实现响应式核心是通过get/set拦截建立依赖关系:get中用track()收集当前activeeffect到WeakMap管理的依赖集,set中用trigger()触发对应key的所有副作用;需递归代理、特殊处理数组、配合effect包装函数自动注册与清理依赖。
-
按钮hover闪一下才变色是因为未在默认状态声明transition,且起始值不明确(如未设background-color或用transparent);应始终在非:hover状态写transition,并避免使用不可插值属性或display等不支持过渡的属性。
-
根本原因是服务端未在Content-Type响应头中声明charset=utf-8,导致浏览器按ISO-8859-1解析UTF-8编码的中文;Node.js需显式设置text/event-stream;charset=utf-8,PHP须避免BOM和输出缓冲干扰,Nginx需强制补全charset。
-
答案:CSS中通过white-space、overflow-wrap和word-break属性控制文本换行与空白处理。white-space决定空白符和换行符的处理方式,如normal合并空白并换行,nowrap不换行,pre保留格式,pre-wrap保留格式且换行,pre-line合并空格但保留换行;overflow-wrap在长单词溢出时被动断行,break-word可在单词内断开防止溢出;word-break则主动定义断行规则,break-all允许任意字符间断行,适合中文或URL,keep-all
-
JavaScript轻量图表库核心是数据映射+图形渲染:Canvas适合高频重绘(如实时折线图),需手动坐标转换和clearRect重绘;SVG适合交互丰富图表,基于DOM节点,支持事件、viewBox缩放和无障碍属性。
-
JavaScript函数分四类:函数声明(提升,可前置调用)、函数表达式(不提升,需先定义)、箭头函数(无this/arguments,不可构造)、方法简写(对象中this绑定调用者)。
-
direction:rtl不会让文字和内联元素整体右对齐,它仅改变文本流方向和内联布局顺序;需配合text-align或HTML的dir="rtl"属性才能实现右对齐效果。
-
最可控、兼容性最好的水彩感实现方式是用多层linear-gradient叠加,每层设低alpha值并错开角度;不能用opacity或嵌套rgba()容器,因其导致全元素发虚或嵌套失真,违背水彩颜料在纸面物理扩散的本质。
-
TextEncoder在微信小程序等环境中未定义是因运行时精简所致,需用polyfill(如FastestSmallestTextEncoderDecoder)兼容;encode()返回的Uint8Array可直接用于WebSocket发送,但须复用实例并正确拼接长度头。
-
font-size:0能消除缝隙是因为缝隙本质是父容器中被渲染的空格字符,其宽度由父级font-size决定;设为0后空格不占空间,但子元素会继承该值导致文字不可见,因此必须显式重设字号。
-
浮动布局虽被flex和grid取代,但在图文环绕、简易导航、表单内联等轻量场景中仍具实用价值,尤其兼容旧浏览器且代码简洁。