-
React中SVGhover变色失效,常因内联fill属性强制覆盖CSS样式;移除SVG元素上的内联fill,并改用CSS类控制颜色,即可实现稳定、可复用的悬停效果。
-
因为默认box-sizing:content-box将width视为内容宽,padding和border额外增加;改用box-sizing:border-box可使width包含padding和border,避免撑破父容器。
-
JavaScript隐式类型转换分字符串拼接、逻辑判断、相等比较和数学运算四类:+遇字符串转拼接,if/&&/||转布尔但返原值,==复杂转换易出错,-*/%等强制转数字。
-
HTML5video默认preload="metadata"导致首帧卡顿,应据场景选none/metadata/auto;需配合Accept-Ranges、poster、现代编码及双源fallback,并验证206响应。
-
为HTML5搜索框添加loading动画有四种方法:一、CSS旋转动画配合伪元素;二、SVG内联加载图标;三、CSS自定义属性控制动画开关;四、纯CSS无JS状态模拟。
-
JavaScript中遍历对象属性和值的主要方法有四种:1.使用Object.keys()获取自身可枚举属性名数组,结合forEach或for...of遍历;2.使用Object.values()获取自身可枚举属性值数组,适用于仅需处理值的场景;3.使用Object.entries()获取键值对数组,可结合解构赋值同时处理键和值,是现代开发中最推荐的方式;4.for...in循环虽能遍历可枚举属性(含继承属性),但需配合hasOwnProperty()过滤以确保只处理自身属性,否则易引入意外行为。最佳实践
-
缩放与旋转无法同时播放是因多个transform被覆盖,需将scale和rotate写入同一animation的transform中,如:transform:scale(1)rotate(0deg);或通过父子元素分离实现独立动画控制。
-
利用background-position配合@keyframes可实现轻量级背景动画。1.原理:通过改变背景位置产生位移视觉效果,结合animation实现连续动画,适用于横向滚动、垂直流动或无缝循环场景。2.实现步骤:设置background-repeat铺满背景,定义animation调用关键帧,如从0%到100%移动background-position实现左滚。3.技巧:使用大图减少跳跃,调整缓动函数、反向滚动、控制Y轴做垂直动画或多层叠加实现视差。4.注意事项:容器需明确宽高,避免图片过大影响
-
绝对定位元素的百分比宽高基于最近有定位的祖先容器,需父级设relative并定义尺寸,结合视口单位与transform可实现响应式布局,注意包含块和高度继承问题。
-
单个元素右对齐应使用margin-left:auto,而非justify-content:flex-end;后者控制所有子项整体分布,仅在唯一子元素时有效,而margin-left:auto通过主轴自动分配剩余空间精准推至右侧。
-
JavaScript事件循环是单线程调度规则,非轮询机制;宏任务(如script、setTimeout、I/O、UI渲染)每次执行一个,微任务(如Promise.then、queueMicrotask)在当前宏任务后立即清空。
-
首先使用JavaScript的navigator.geolocation获取用户位置,再结合GoogleMaps或高德地图API将坐标展示在地图上,支持单次定位与持续追踪,需注意权限处理、错误回调及国内地图替代方案的选择。
-
在HTML5中实现文字首行缩进需用CSS的text-indent属性,支持固定像素、em相对单位、rem根单位、负值悬挂缩进及多语言(RTL/垂直)适配五种方式。
-
JavaScriptMap是一种键值对集合,支持任意类型键、保持插入顺序、提供size属性、遍历有序且高效,适合动态场景;而普通对象键受限、统计繁琐、遍历顺序不一致,更适合固定结构数据。
-
WebSocket是独立于HTTP的TCP全双工协议,需用ws://或wss://初始化;onmessage中data可能是string或Blob,须判型解析;close/error事件不可靠,须结合心跳、readyState和send异常判断连接状态。